当表中的记录已经存在,但某些字段值需要修改时,就要使用 UPDATE 语句。它可以更新一条记录,也可以批量更新多条记录。
UPDATE 的基本语法如下:
UPDATE 表名
SET 字段1 = 值1, 字段2 = 值2, ...
[WHERE 条件];其中:
SET用于指定要修改的字段和新值WHERE用于限定更新范围
如果只想更新满足条件的部分记录,应当配合 WHERE 使用。
例如更新某个用户的手机号:
UPDATE user
SET mobile = '13900000000'
WHERE id = 1;也可以一次更新多个字段:
UPDATE user
SET name = '张三丰', mobile = '13911111111'
WHERE id = 1;这种写法是最常见、也是最安全的更新方式。
如果不写 WHERE,则会更新整张表中的所有记录。
例如:
UPDATE user
SET status = 1;这条 SQL 会把 user 表中所有记录的 status 都改成 1。
这种写法在某些初始化或批量修正场景中是合理的,但在日常业务中风险很高,执行前必须非常确认。
- 更新数据前优先写好
WHERE条件。 - 先用
SELECT验证条件范围,再执行UPDATE。 - 批量更新前,确认是否需要事务保护。
- 对关键数据表,尽量避免无条件更新。
UPDATE 解决的是“修改已有记录”的问题。带 WHERE 是更新部分数据,不带 WHERE 就是更新全部数据。实际工作中,最常见的问题不是语法写错,而是更新范围写错。