UPDATE 表名 SET 字段名1= 值1, 字段名2= 值2, ... [ WHERE 条件 ];
⚠️ 注意事项:
修改语句的条件可有可无。若无条件,则会修改整张表的所有数据。
三、删除数据
1
DELETEFROM 表名 [ WHERE 条件 ]
⚠️ 注意事项:
DELETE 语句的条件可有可无。若无条件,则会删除整张表的所有数据。
DELETE 不能删除某一个字段的值(可使用 UPDATE 将该字段置为 NULL)。
三、数据查询语言 DQL(Data Query Language)
用途:用来查询数据库中表的记录。
一、基础查询
1、查询多个字段
1 2
SELECT 字段1, 字段2, 字段3 ... FROM 表名; SELECT*FROM 表名;
⚠️ 注意事项:
* 代表查询所有字段,实际开发中尽量少用(不直观、影响效率)。
2、字段设置别名
1 2 3
SELECT 字段1 [ AS 别名1 ], 字段2 [ AS 别名2 ] ... FROM 表名; -- 或 SELECT 字段1 别名1, 字段2 别名2 ... FROM 表名;
3、去除重复记录
1
SELECTDISTINCT 字段列表 FROM 表名;
二、条件查询
1、语法
1
SELECT 字段列表 FROM 表名 WHERE 条件列表;
2、常用比较运算符
运算符
功能
>
大于
>=
大于等于
<
小于
<=
小于等于
=
等于
<> 或 !=
不等于
BETWEEN ... AND ...
在某个范围之内(含最小、最大值)
IN (...)
在列表中的值,多选一
LIKE 占位符
模糊匹配(_匹配单个字符,%匹配任意个字符)
IS NULL
是 NULL
常用逻辑运算符
运算符
功能
AND 或 &&
并且(多个条件同时成立)
OR 或 `
NOT 或 !
非,不是
三、聚合函数
1、定义
将一列数据作为一个整体,进行纵向计算。
常见聚合函数
函数
功能
COUNT
统计数量
MAX
最大值
MIN
最小值
AVG
平均值
SUM
求和
2、语法
1
SELECT 聚合函数(字段列表) FROM 表名;
⚠️ 注意事项:
NULL 值不参与所有聚合函数运算。
四、分组查询
1、语法
1 2 3 4 5
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUPBY 分组字段名 [ HAVING 分组后过滤条件 ];
WHERE 与 HAVING 区别
执行时机不同:WHERE 是分组前过滤,不满足则不参与分组;HAVING 是分组后对结果过滤。
判断条件不同:WHERE 不能对聚合函数判断,HAVING 可以。
⚠️ 注意事项:
分组后,查询字段一般为聚合函数和分组字段,其他字段无意义。
执行顺序:WHERE > 聚合函数 > HAVING。
支持多字段分组:GROUP BY columnA, columnB。
在 GROUP BY 查询中,SELECT 的非聚合字段必须出现在 GROUP BY 子句中,否则报错。
五、排序查询
1、语法
1 2 3
SELECT 字段列表 FROM 表名 ORDERBY 字段1 排序方式1, 字段2 排序方式2;
2、排序方式
ASC:升序(默认)
DESC:降序
⚠️ 注意事项:
升序可省略 ASC。
多字段排序时,当前一字段值相同时,才按下一字段排序。
六、分页查询
1、语法
1
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;
⚠️ 注意事项:
起始索引从 0 开始,计算公式:(查询页码 - 1) * 每页显示记录数。
分页查询是数据库方言,MySQL 使用 LIMIT。
查询第一页时,可省略起始索引,简写为 LIMIT 10。
七、执行顺序与编写顺序
1、执行顺序
1 2 3 4 5 6 7 8
graph TD A[FROM <br>表名列表] --> B[WHERE <br>条件列表] B --> C[GROUP BY <br>分组字段列表] C --> D[HAVING <br>分组后条件列表] D --> E[SELECT <br>字段列表] E --> F[ORDER BY <br>排序字段列表] F --> G[LIMIT <br>分页参数] G --> H[执行顺序]
2、编写顺序
1 2 3 4 5 6 7 8
graph TD A[SELECT <br>字段列表] --> B[FROM <br>表名列表] B --> C[WHERE <br>条件列表] C --> D[GROUP BY <br>分组字段列表] D --> E[HAVING <br>分组后条件列表] E --> F[ORDER BY <br>排序字段列表] F --> G[LIMIT <br>分页参数] G --> H[编写顺序]
四、数据控制语言 DCL(Data Control Language)
用途:用来管理数据库用户、控制数据库的访问权限。
一、管理用户
1、查询用户
1
SELECT*FROM mysql.user;
2、创建用户
1
CREATEUSER'用户名'@'主机名' IDENTIFIED BY'密码';
3、修改用户密码
1
ALTERUSER'用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY'新密码';