MySQL DML 与 DQL 基础语法详解:增删改查入门实战
一、DML 数据操作语言
DML(Data Manipulation Language)用于对数据库中表的数据记录进行更新操作,主要包括插入、删除和修改。
1.1 插入数据:INSERT
-- 插入指定列
INSERT INTO 表名 (列1, 列2, 列3...) VALUES (值1, 值2, 值3...);
-- 插入所有列(需按表结构顺序)
INSERT INTO 表名 VALUES (值1, 值2, 值3...);
-- 一次性插入多行
INSERT INTO 表名 VALUES
(值1, 值2, 值3...),
(值1, 值2, 值3...);
1.2 修改数据:UPDATE
-- 修改整张表的某列
UPDATE 表名 SET 字段名 = 值;
-- 按条件修改
UPDATE 表名 SET 字段名 = 值 WHERE 条件;
1.3 删除数据:DELETE 与 TRUNCATE
-- 删除符合条件的记录
DELETE FROM 表名 [WHERE 条件];
-- 清空整张表(不可回滚)
TRUNCATE TABLE 表名;
-- 或
TRUNCATE 表名;
⚠️ 注意:
DELETE
只删除内容,可回滚,逐行删除。TRUNCATE
相当于删除表后重建,不可回滚,效率高。二、DQL 数据查询语言
2.1 查询基本语法
SELECT [ALL|DISTINCT] 列1 [别名], 列2 [别名]...
FROM 表名 [别名]
[WHERE 条件]
[GROUP BY 列名 [HAVING 条件]]
[ORDER BY 列名 [ASC|DESC]]
[LIMIT 条数];
2.2 简单查询示例
-- 查询所有列
SELECT * FROM tb_name;
-- 查询指定列
SELECT col1, col2 FROM tb_name;
-- 查询满足条件的记录
SELECT * FROM tb_name WHERE coln = 值;
-- 去重查询
SELECT DISTINCT col FROM tb_name;、
三、常用运算符
3.1 算术运算符
3.2 比较运算符
3.3 逻辑运算符
四、高级查询操作
4.1 排序查询:ORDER BY
SELECT 字段1, 字段2...
FROM 表名
ORDER BY 字段1 [ASC|DESC], 字段2 [ASC|DESC];
默认升序(ASC),可指定降序(DESC)
4.2 分页查询:LIMIT
-- 前n条
SELECT 字段1, 字段2... FROM 表名 LIMIT n;
-- 分页查询(从第m条开始,取n条)
SELECT 字段1, 字段2... FROM 表名 LIMIT m, n;
-- m = (当前页 - 1) * 每页条数
4.3 聚合函数
4.4 分组查询:GROUP BY + HAVING
SELECT 分组字段, 聚合函数...
FROM 表名
GROUP BY 分组字段
HAVING 分组后条件;
📌 注意:
SELECT
后只能出现分组字段或聚合函数WHERE
在分组前筛选,HAVING
在分组后筛选
五、特殊查询语句
5.1 INSERT INTO SELECT
将一张表的数据导入到已存在的另一张表:
INSERT INTO Table2
SELECT * FROM Table1;
5.2 SELECT INTO FROM
将查询结果自动创建为新表(Table2 必须不存在):
SELECT * INTO Table2 FROM Table1;
六、正则表达式查询(REGEXP)
七、SQL 语句执行顺序
总结
本文涵盖了 MySQL 中常用的 DML 和 DQL 语法,包括增删改查、运算符、分组排序、分页、正则匹配等基础内容,适合初学者系统学习或日常速查使用。