章节摘要:DML 管数据的增删改——INSERT 插入、UPDATE 更新、DELETE 删除。这三条都直接改数据,写错代价大。本章讲语法和安全用法。
阅读完本章,你应当能够:
增删改直接动数据,WHERE 是 UPDATE/DELETE 的命根子。
单行、多行、INSERT ... SELECT 插入。
SET 改列值,WHERE 限定范围。
WHERE 限定删除范围,TRUNCATE 区别。
5.1 INSERT(增) 5.2 UPDATE(改) 5.3 DELETE(删)
三种数据修改操作,各自的安全要点。
本章是"对数据动手"的开始,也是最容易出生产事故的一章。三条语句语法都不难,难在安全意识。
安全习惯培养:本章开始,每条 UPDATE/DELETE 都建议养成"三步走"——先 SELECT 看范围,确认无误,再执行;重要数据操作前先备份或用事务包裹(BEGIN/COMMIT/ROLLBACK,第 7 章会系统讲事务)。不要小看这个习惯,数据库事故里十有八九是 UPDATE/DELETE 忘了 WHERE。
动手建议:建一张练习表,插入、更新、删除反复练,直到三种语句的语法和"带不带 WHERE"的后果都了然于心。
学完本章,请尝试回答下面几个问题:
第一个问题:插入数据有哪几种方式?什么时候用批量插入,为什么批量插入效率更高?
第二个问题:更新语句里,范围条件起到什么作用?漏写范围条件会有什么后果?
第三个问题:删除数据时,范围条件为什么同样重要?软删除和物理删除各自的优缺点是什么?
第四个问题:更新和删除之前,先做一步查询预览,这个习惯为什么值得坚持?
这四个问题覆盖了本章的核心。能答出前三个,说明增删改的语法和语义已经掌握;能答出第四个,说明安全意识已经建立。两者兼备,才算是真正学好了本章。
本章提到的"多条操作打包、确认后提交、出错回滚",会在第 7 章事务里系统展开。本章强调的"先预览再动手"的习惯,是数据安全的通用准则,后面的进阶操作同样适用。