当表中的记录已经存在,但某些字段值需要修改时,就要使用 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 就是更新全部数据。实际工作中,最常见的问题不是语法写错,而是更新范围写错。