MySQL数据的增删改查
一、DML语句
1.定义
Data Mainpulation Language,数据操作语言。
2.INSERT语句
-- 字段值与字段名一一对应
INSERT INTO 表名(字段名1,字段名2...)VALUES(字段值1,字段值2...)
-- 字段值与创建表时的字段名顺序一一对应
INSERT INTO 表名 VALUES(字段值1,字段值2...)
-- 插入多条数据
-- 括号中为一组数据
INSERT INTO 表名(字段名1,字段名2...)VALUES(字段值1,字段值2...),(字段值1,字段值2...),...
INSERT INTO 表名 VALUES(字段值1,字段值2...),(字段值1,字段值2...),...
-- 当列为自增长列或有默认值时,可以不赋值,也可以赋值为DEFAULT
3.UPDATE语句
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2...] [WHERE 修改条件]
条件:AND表示逻辑与,OR表示逻辑或,相等为=
4.DELETE语句
-- 删除组数据,不写条件则删除所有数据
DELETE FROM 表名 [WHERE 删除条件];
5.TRUNCATE语句
-- 清空表中数据
TRUNCATE [TABLE] 表名;
6.DELETE与TRUNCATE区别
- 要删除表中所有数据,DELETE语句效率较低
- 如果表中有自增长列,TRUNCATE会重置计数器,而DELETE不会
- TRUNCATE语句执行后数据不能恢复,但DELETE语句可以使用事务回滚恢复
二、DQL语句
1.定义
Data Query Language,表示数据查询语言。
2.SELETE语句
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名2 AS 别名2,...] FROM 表名 [别名] [WHERE 查询条件];
- ALL表示所有满足条件的记录,可以省略;DISTINCT去掉重复元素
- AS可以为数据列、数据表取别名,可以省略,在展示时字段名会变成别名
- 数据表别名可以调用数据表中的字段:数据表别名.字段名
3.比较操作符
操作符 | 语法 | 说明 |
---|---|---|
IS NULL | 字段名 IS NULL | |
IS NOT NULL | 字段名 IS NOT NULL | |
BETWEEN … AND | 字段名 BETWEEN 最小值 AND 最大值 | 一般更多使用逻辑运算,用户可能只给出了最小值 |
LIKE | 字段名 LIKE ‘%匹配内容%’ (%…表示以…结尾 / …%表示以…开头) | 如果字段值包含匹配内容,则满足。下划线表示占位符占一个字节,%表示字符省略。 |
IN | 字段名 IN(值1,值2…) | 如果字段值在值1,值2…中,则满足 |
4.分组
-
分组查询
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名2 AS 别名2,...] FROM 表名 [别名] [WHERE 查询条件] GROUP BY 字段名1,字段名2,...;
拥有相同字段值的数据分为1组,结果只显示改组中的第一条数据
-
聚合函数
SELETE 函数名1(* | 字段名1 AS 别名1[,字段名2 AS 别名2,...])[展示字段别名1] [,函数名2()[展示字段别名2]...] FROM 表名 [别名] [WHERE 查询条件]; -- 字段别名用于在展示表中显示别名 -- 可以分组再对每组计算
函数名 描述 COUNT() 符合条件计数 SUM() 只能用于数字类型的字段,计算符合条件的字段值之和 AVG() 计算满足条件字段值的平均值 MAX() 获取最大值 MIN() -
分组查询结果筛选
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名2 AS 别名2,...] FROM 表名 [别名] [WHERE 查询条件] GROUP BY 字段名1,字段名2,... HAVING 筛选条件;
分组后如果还需要满足其他条件,则需要having实现
5.排序
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名2 AS 别名2,...] FROM 表名 [别名] [WHERE 查询条件] ORDER BY 字段名1 ASC|DESC, 字段名2 ASC|DESC...;
先按字段1排序,再按字段2排序
6.分页
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名2 AS 别名2,...] FROM 表名 [别名] [WHERE 查询条件] LIMIT 偏移量,查询条数;
-- 只会显示偏移量后的查询条数个的数据
注意:如果查询同时包含分组、排序、分页,那么必须按照分组、排序、分页的顺序排列