UPDATE 和 DELETE
UPDATE 用来修改数据,DELETE 用来删除数据。
这两个语句一定要谨慎,因为写错可能影响很多行。
一、UPDATE 修改数据
把用户 tom 的年龄改成 19:
结构:
二、按主键修改最安全
推荐用主键定位要修改的数据:
主键是唯一的,可以保证只修改一行。
执行后查询确认:
三、一次修改多个字段
多个字段用逗号分隔。
四、基于原值修改
文章浏览量加 1:
这类写法很常见:
- 浏览量加 1
- 库存减 1
- 积分增加
五、不要忘记 WHERE
危险写法:
这会把整张 users 表所有用户都改成禁用。
修改前可以先用同样条件查询:
确认结果正确后,再执行:
六、DELETE 删除数据
删除 ID 为 1 的评论:
结构:
同样建议按主键删除。
七、不要忘记 DELETE 的 WHERE
危险写法:
这会删除 users 表里的所有数据。
删除前先查询:
确认后再删除:
八、物理删除和逻辑删除
物理删除是真正删除数据:
逻辑删除是不删除行,只标记为已删除:
删除时执行:
查询正常文章时过滤:
业务系统里经常使用逻辑删除,因为它方便恢复和审计。
九、清空表 TRUNCATE
TRUNCATE 会清空整张表:
它和 DELETE FROM users 都会清空数据,但使用时要非常谨慎。
本地练习时如果只是想重置练习数据,可以用它。真实环境执行前必须确认备份和影响范围。
十、安全操作习惯
执行 UPDATE / DELETE 前建议养成这些习惯:
- 先写
SELECT,确认条件命中的数据。 - 优先用主键作为条件。
- 不确定影响范围时,先加
LIMIT做小范围验证。 - 重要数据修改前先备份。
- 多步修改放进事务里,失败可以回滚。
示例:

