
目录前言课程学习总结一、SQL 语句五大分类总览二、DDL 数据定义语言库 表操作 完整代码2.1 数据库操作语法实战代码使用规范 易错点2.2 数据表操作 约束主键 / 外键 / 唯一 / 非空 / 默认实战完整建表代码使用规范 易错点三、DML 数据操纵语言增删改 高频实战3.1 INSERT 插入数据实战代码易错点3.2 UPDATE 更新语句线上高危语句实战代码使用规范3.3 DELETE 删除数据实战代码易错点四、DQL 数据查询语言课程核心最全场景代码4.1 基础查询、别名、去重、算术运算易错点4.4 聚合函数 GROUP BY 分组 HAVING 分组过滤高频错题解析4.5 多表连接查询知识点总结六、DCL 权限管理语句补充拓展七、全课程高频易错点汇总学习复盘八、个人学习疑问与拓展思考九、学习总结前言课程学习总结本学期 MySQL 数据库课程学习中我们完整学习了 DDL、DML、DQL、TCL、DCL 五大类 SQL 语句从库表创建、数据增删改查到多表联查、事务、索引、存储过程均完成课堂实操。 在练习过程中我频繁踩中语法、逻辑类漏洞比如无 WHERE 条件全表更新、混淆 WHERE 与 HAVING、外键约束报错等。本文完整梳理全部课堂 SQL 知识点搭配可直接运行实战代码、易错点标注同时记录个人学习薄弱项与拓展疑问方便复习查阅。一、SQL 语句五大分类总览DDL 是数据定义语言主要用来定义库、表、索引、视图的结构核心语句包含 CREATE、ALTER、DROP、TRUNCATE。 DML 是数据操纵语言负责操作表中存储的真实业务数据核心语句为 INSERT、UPDATE、DELETE。 DQL 是数据查询语言也是日常开发使用频率最高的语句核心只有 SELECT用来检索数据表中的数据。 TCL 是事务控制语言专门管理事务的提交与回滚核心语句有 START TRANSACTION、COMMIT、ROLLBACK。 DCL 是数据控制语言用于创建数据库账号、分配和回收操作权限核心语句包含 CREATE USER、GRANT、REVOKE。二、DDL 数据定义语言库 表操作 完整代码2.1 数据库操作语法实战代码使用规范 易错点不添加IF NOT EXISTS重复创建数据库会抛出语法错误不要使用utf8字符集MySQL 原生 utf8 不支持表情符号统一用utf8mb4DROP 删除数据库会清空所有表与数据无回收站删除前务必备份。2.2 数据表操作 约束主键 / 外键 / 唯一 / 非空 / 默认实战完整建表代码使用规范 易错点存在外键关联时必须先创建父表、后创建子表删除时先删子表再删父表否则会直接报约束冲突错误TRUNCATE 与 DELETE 存在本质区别DELETE 支持事务回滚TRUNCATE 直接清空磁盘数据、不记录日志、自增主键归零字段名、库表名如果是 MySQL 内置关键字需要用反引号包裹才能正常执行。三、DML 数据操纵语言增删改 高频实战3.1 INSERT 插入数据实战代码易错点唯一约束字段 phone 插入重复号码会直接报错枚举字段 sex 只能填写男或女输入其他文本插入操作会执行失败。3.2 UPDATE 更新语句线上高危语句实战代码使用规范生产环境执行 UPDATE 语句前必须先用 SELECT 校验 WHERE 条件的查询结果确认修改数据范围无误后再执行更新。3.3 DELETE 删除数据实战代码易错点DELETE 不加 WHERE 条件会清空整张表所有数据正式业务系统禁止直接物理删除数据统一采用逻辑删除方案保证数据可追溯。四、DQL 数据查询语言课程核心最全场景代码4.1 基础查询、别名、去重、算术运算4.2 WHERE 条件筛选逻辑、区间、模糊匹配4.3 排序 ORDER BY 分页 LIMIT易错点大偏移分页写法如 LIMIT 100000,10 性能极差千万级数据表需要额外分页优化方案。4.4 聚合函数 GROUP BY 分组 HAVING 分组过滤高频错题解析WHERE 只能作用于原始数据表字段无法识别聚合计算之后的结果GROUP BY 分组完成后的筛选条件必须使用 HAVING 关键字。4.5 多表连接查询4.6 子查询五、TCL 事务控制语言代码知识点总结事务具备四大核心特性分别是原子性、一致性、隔离性、持久性只有 DML 增删改语句会被事务管理执行 DDL 结构修改语句时会自动提交当前事务无法回滚。六、DCL 权限管理语句补充拓展七、全课程高频易错点汇总学习复盘UPDATE、DELETE 语句遗忘 WHERE 条件造成整张表数据被批量篡改GROUP BY 分组之后的过滤条件误用 WHERE直接触发语法报错模糊查询条件前置百分号如%张三会导致索引失效查询速度大幅变慢存在外键约束的两张表删除顺序颠倒出现约束冲突报错分页使用超大偏移量 LIMIT大数据量表场景查询卡顿严重DDL 库表结构修改语句会自动提交事务结构修改操作无法回滚字符集选用 utf8 而非 utf8mb4中文、表情存储时出现乱码。八、个人学习疑问与拓展思考MySQL 四种事务隔离级别分别适配哪些线上业务场景百万、千万级数据表除了基础 LIMIT 分页还有哪些高效分页实现方案生产环境数据库是否推荐使用外键约束有没有更稳定的替代实现方案索引创建完成后哪些操作场景会自动触发索引失效该如何提前规避九、学习总结本次整理完整覆盖课堂全部 SQL 语法从基础库表操作到复杂多表查询、事务、账号权限内容全部包含。经过完整代码实操复盘我发现自身存在明显薄弱模块分别是多表复杂子查询、事务隔离级别、索引性能优化。后续我会通过大量模拟业务案例针对性强化薄弱知识点养成规范书写 SQL 的习惯规避线上高危语法减少开发过程中的数据故障。