【MySQL】常用的SQL命令_Unit02
文章目录
一、SQL命令执行方式及语法规范
结构化查询语言,用于操作关系型数据库服务器,主要是对数据执行增删改查。
1、交互模式
客户端输入一行,点击回车,服务器端就执行一行,适用于临时性的查看数据
2、脚本模式
把所有要执行的命令写在一个脚本文件中,一次性的提交给服务器执行,适用于批量的操作数据
在建立连接前 (quit或是点击重新启动mysql、点击shell即可)
mysql -uroot<拖拽要提交的脚本过来 回车
(mysql -uroot< 中的mysql是指通过mysql客户端提交脚本文件)
3、SQL命令的语法规范
一条SQL命令可以跨越多行,以英文的分号作为结束
SQL命令不区分大小写,习惯上关键字大写,非关键字小写
假设某一条SQL语句出现语法错误,则此条语句到最后所有的语句都不再执行
分为单行注释(#…)和多行注释(/…/),注释的内容不被服务器所执行
二、常用SQL命令
1、丢弃数据库,如果存在
DROP DATABASE IF EXISTS jd;
2、创建新的数据库
#创建表不会有提示,说明已创建成功jd数据库表
CREATE DATABASE jd;
3、进入数据库
USE jd;
4、创建保存数据的表
CREATE TABLE student(
sid INT,
name VARCHAR(8),
sex VARCHAR(1),
score INT
);
5、插入数据
# 引号不区分单双,单双皆可
INSERT INTO student VALUES(‘1’,’ran’,’F’,’59’);
#示例:创建保存笔记本数据家族分类的表family
# 创建保存笔记本数据家族分类的表family
CREATE TABLE family(
fid TINYINT PRIMARY KEY,
frame VARCHAR(64)
);
#示例插入数据
# 插入数据
INSERT INTO family VALUES
('10','联想'),('20','戴尔'),('30','小米');
注:插入的数据可以连写。但不建议,不推荐如下例的这样连写:因为有一个fid如果有插入NULL值,会显示为0,但是如果有2个fid值都插入为NUll会报错:(‘10’,‘联想’),(‘NULL’,‘戴尔’),(‘NULL’,‘小米’);
扩展:INSERT语句🔗
在创建数据库完成之后,我们需往数据库中出入数据,在MySQL中可以使用INSERT语句向数据库已有数据库表插入一行或者多行数据
基本语法:
INSERT语句有两种语法形式,分别是INSERT…VALUES…语句和INSERT…SET…语句
一、INSERT VALUES:
INSERT INTO 表名 (列名,列名1,列名2...)VALUES(值,值1,值2,值3)
语法注释:
①表名:数据库中被操纵的表名(需要出入数据的数据库表名)
②列名:数据表中指定出入数据的列名(如需要向表中所有的列去插入数据,可直接忽略列名,直接采用INSERT 表名 VALUES(值…)
③VALUES 或 VALUE子句:包含数据库的数据清单(值),清单中的数据顺序要和列的顺序相对应
二、INSERT SET:
INSERT INTO 表名 SET 列名=值,列名1 = 值1,列名2=值2...
语法注释:
①表名:数据库中被操纵的表名(需要出入数据的数据库表名)
②列名:数据表中指定出入数据的列名
③上述语句是给表中需要操作的某些被指定的列插入值,插入数据的列名在SET字句中被指定,= (等号)后面为指定列的值,未指定的列,默认插入默认值
6、查询数据
# 查询数据
SELECT * FROM student; # *号前后空格,可有可无
ex:编写脚本文件04_tedu.sql,丢弃数据库,如果存在tedu,创建一个新的数据库tedu
ex:进入数据库tedu,创建保存员工数据的表emp,包含的列有编号eid,姓名name,地址addr,电话phone
ex: 往员工表emp下插入若干条数据,查询结果。
#设置客户端连接服务器端的编码为UTF-8
SET NAMES UTF8;
#丢弃数据库,如果存在tedu
DROP DATABASE IF EXISTS tedu;
#创建一个新的数据库
CREATE DATABASE tedu;
#进入数据库tedu
USE tedu;
#创建保存员工数据的表emp
CREATE TABLE emp(
eid INT,
name VARCHAR(8),
addr VARCHAR(16),
phone VARCHAR(11)
);
#插入数据
INSERT INTO emp VALUES('1','ran','beijing','18112345678');
INSERT INTO emp VALUES('2','然哥','shenzhen','18812345678');
#查询数据
SELECT * FROM emp;
ex:编写脚本文件xz.sql,先丢弃再创建数据库xz,进入数据库xz,创建保存用户数据的表user,包含有编号uid,用户名uname,密码upwd,邮箱email,电话phone,真实姓名userName,注册时间regTime,是否在线isOnline;插入若干条数据,查询结果
#设置客户端连接服务器端的编码为UTF-8
SET NAMES UTF8;
#丢弃数据库,如果存在
DROP DATABASE IF EXISTS xz;
#创建新的数据库,设置存储编码为UTF-8
CREATE DATABASE xz CHARSET=UTF8;
#进入该数据库
USE xz;
#创建保存数据的表
CREATE TABLE user(
uid INT,
uname VARCHAR(16),
upwd VARCHAR(32),
email VARCHAR(32),
phone VARCHAR(11),
userName VARCHAR(8),
regTime VARCHAR(10), # 2020-08-03
isOnline VARCHAR(1) # y/n
);
#插入数据
INSERT INTO user VALUES('1','ran','123456','ran@163.com','18112345678','然哥','2019-12-20','y');
INSERT INTO user VALUES('2','dong','888888','dong@qq.com','13999999999','李东','2020-1-3','n');
INSERT INTO user VALUES('3','hua','666666','hua@tedu.cn','15812345678','钟华','2018-5-5','n');
#删除数据
DELETE FROM user WHERE uid='2';
#修改数据
UPDATE user SET phone='18500000000',isOnline='y' WHERE uid='3';
#查询数据
SELECT * FROM user;
7、删除数据
# 删除表中某条数据
DELETE FROM user WHERE uid=’2’;
# 删除整个user表
DELETE FROM user;
8、修改数据
UPDATE user SET phone=’18500000000’,isOnline=’y’WHERE uid=’3’;
番外:SQL语句的分类🔗
不同的数据库都使用SQL语句来操作,SQL语句大体上分为五部分:
1、DDL语句
DDL语句是定义数据结构,也就是用来操作表格结构的。代表的指令有:create(创建表)、alter(修改表)、drop(删除表);
2、DML语句
DML语句是操作表中数据的,代表指令有:insert(插入数据)、update(修改数据)、delete(删除数据);DML语句是所有SQL语句中使用最多的,insert就是网站的注册功能、update就是网站的修改用户信息、delete就是网站的注销账号。
3、DQL语句
DQL语句是数据查询语句,代表指令有:select(查询数据),select就是网站的搜索、登录等等;
4、TCL语句
TCL语句是事务控制语句,该语句是用来与DML语句一起配合使用的,具体来维护表中数据一致性。insert、update、delete语句执行之后必须配合commit语句(提交)才能真正生效。TCL语句除commit之外,还有rollback和savapoint语句。
5、DCL语句
DCL语句是要用户控制语句,是DBA(Database Administratro)管理员用来才可以使用的语句。代表指令:grant(授予用户权限)、revoke(撤销用户权限)
查看上一节,你可以点击👉【MySQL】数据库基础知识_Unit01
相关文章
- mysql 查看优化器重写后的sql(explain extended和show warnings)
- mysql-介绍、MySQL部署、数据类型、存储引擎
- navcat导入mysql.sql出现:2006, 'MySQL server has gone away'
- centos用yum安装mysql-server
- mysql分享一:运维角度浅谈MySQL数据库优化
- mysql操作索引的sql语句
- mysql--SQL编程(关于mysql中的日期,关于重叠) 学习笔记2.2
- mysql审计插件-记录所有sql语句
- [MySQL] MySQL x64 下载地址
- 【Teradata SQL】数据库中查询 一个字段包含另一个字段sql
- mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备
- 3类数据库的联动:mysql、mongodb、redis
- 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令及示例
- MySQL 初步安装后更改datadir目录几种方式
- MYSQL避免全表扫描__如何查看sql查询是否用到索引(mysql)
- Mysql纯命令行添加用户
- SQL基础【二十、索引】(超细致版本,前理论,后实践,应对sql面试绰绰有余)
- 〖Python 数据库开发实战 - MySQL篇⑯〗- SQL 语句的条件查询
- 全网多种方法解决You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
- Mysql下Limit注入方法(此方法仅适用于5.0.0<mysql<5.6.6的版本)
- 如何优雅的备份MySQL数据?
- MySQL索引重点小总结
- MySQL数据篇之多表操作-----保姆级教程
- 【MySql】MySQL索引15连问(相信大家看完肯定会有帮助)
- 【MySQL】CentOS编译安装MySQL5.7实战
- mysql 设置root密码