数据操作语言(Data Manipulation Language,DML)
该语言主要对数据库表中的数据进行增删改
# 给指定字段添加数据
INSERT INTO 表名 (字段1, 字段2, ... ) VALUES (值1, 值2, ...) ;
# 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...) ;
# 批量添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;
# 修改某条件下的数据(无条件全部修改)
UPDATE 表名 SET 字段1=值1 [ , 字段2=值2, ... ] [ WHERE 条件 ] ;
# 删除某条件下的数据
DROP FROM 表名 [WHERE 条件] ;
# 在对字符串和日期型数据操作时,应包含在引号中。
数据查询语言(Data Query Language,DQL)
该语言主要用于查询数据库表的记录
命令格式
SELECT [DISTINCT]
字段1 [AS 字段别名], [字段2 [AS 字段别名]], …
FROM
表名列表
WHERE
条件查询语句
GROUP BY
字段1 [ , 字段2, … ]
HAVING
分组后过滤条件
ORDER BY
字段1 ASC|DESC [ , 字段2** ASC|DESC** , … ]
LIMIT
起始索引( = (查询页码-1) * 每页显示记录数 ), 查询记录数
条件查询
比较运算符 | 功能 |
---|---|
<、<=、=、>、>= | 常规比较 |
<>、!= | 不等于 |
BETWEEN … AND … | 在某个范围之内,含最小、最大值 |
IN(…) | 在 IN 之后的列表中的值,多选一 |
LIKE 占位符 | 模糊匹配(_ 匹配单个字符;% 匹配任意个字符) |
IS NULL | 判断是否为NULL |
逻辑运算符 | 功能 |
---|---|
AND、&& | 并且,多个条件同时成立 |
OR、 | |
NOT、! | 非,不是 |
比较运算符 | 功能 |
---|---|
<、<=、=、>、>= | 常规比较 |
<>、!= | 不等于 |
BETWEEN … AND … | 在某个范围之内,含最小、最大值 |
IN(…) | 在 IN 之后的列表中的值,多选一 |
LIKE 占位符 | 模糊匹配(_ 匹配单个字符;% 匹配任意个字符) |
IS NULL | 判断是否为NULL |
聚合函数 | 功能 |
---|---|
COUNT | 求组中项数,返int类型整数 |
MAX/MIN | 求最大值/最小值 |
AVG | 求组中值的平均值 |
SUM | 返回表达式中所有值的和 |
VAR | 返回给定表达式中所有值的统计方差 |
! NULL值不参与所有聚合函数的运算 |
WHERE 和 HAVING的区别
- 执行时机不同:where是分组之前进行过滤,不满足where条件的记录不参与分组;而having是分组之后对结果进行过滤;
- 判断条件不同:where不能对聚合函数进行判断;而having可以。
- 执行顺序:where > 聚合函数 > having
DQL语句关键字执行顺序
FROM --> WHERE --> GROUP BY --> HAVING --> SELECT --> ORDER BY --> LIMIT
数据控制语言(Data Control Language,DCL)
该语言主要用于管理数据库用户、控制数据库的访问权限。
# 查询指定数据库的用户
select * from 数据库名.user;
# 创建用户
create user '用户名'@'主机名' identified by '密码';
# 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
# 删除用户
drop user '用户名'@'主机名';
# !注意事项:
# 在MySQL中需要通过 用户名@主机名的方式,来唯一标识一个用户;
# 主机名可以使用 % 通配符来表示任意主机;
# MySQL中常用的权限主要有:
all、select、insert、update、delete、alter、drop、create
# 查询指定用户的权限
show grants for '用户名'@'主机名';
# 授予指定用户相应的权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
# 撤销指定用户相应的权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
数据库MySQL(一):基础知识
数据库MySQL(二):DDL数据定义语言
数据库MySQL(三):DML、DQL、DCL
数据库MySQL(四):表中字段约束和外键约束
数据库MySQL(五):多表查询
数据库MySQL(六):事务