首页/数据/数据库速查/UPDATE 更新数据与安全实践
本包目录(495 条)
MySQL 基础与连接36 条
SQL 语法52 条
用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

UPDATE 更新数据与安全实践

修改已有行:务必带 WHERE、先 SELECT 验证条件、最好开启事务或限制行数;批量更新要关注锁范围与主从延迟。

数据库速查数据更新于 2026-10-12
用途修改行
语法UPDATE tbl SET 列=值[, …] [WHERE 条件] [LIMIT n]
安全先 SELECT 预演

安全更新流程

安全更新流程
SELECT COUNT(*) FROM orders WHERE status='pending' AND created_at < '2026-09-01';
BEGIN;
UPDATE orders SET status='closed' WHERE status='pending' AND created_at < '2026-09-01' LIMIT 1000;
COMMIT;

多列与表达式更新

多列与表达式更新
UPDATE counters SET cnt = cnt + 1, updated_at = NOW() WHERE id = 7;
无 WHERE 的 UPDATE 会修改全表;条件列无索引时会锁大量行,生产环境等同事故。

易错点

  • UPDATE 的 WHERE 条件要走索引,否则行锁会放大成大面积阻塞
  • 单条 UPDATE 影响行数很大时建议分批提交,避免超长事务与复制延迟

数据来源与参考

  • MySQL 8.0 Reference Manual: UPDATE Statement

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌