Skip to content

SQL 中使用 UPDATE 语句,来更新数据。它也有 3 种应用场景:

  1. 更新一行数据
  2. 更新多行数据
  3. 复制另一表中的数据以更新现有表

更新一行数据

sql
UPDATE table_name
SET column1 = value1,
    column2 = value2,
    ...
WHERE conditions;

如果 conditions 条件,筛选出一条数据,那么执行就会更新一行数据。

更新多行数据

sql
UPDATE table_name
SET column1 = value1,
    column2 = value2,
    ...
WHERE conditions;

如果 conditions 条件,筛选出多条数据,那么执行就会更新多行数据。

如果不加 conditions 条件的话,则会更新所有行。

sql
UPDATE table_name
SET column1 = value1,
    column2 = value2,
    ...;

复制表以更新

sql
UPDATE table_name
SET column1 = (
  SELECT column1
  FROM table_name2
  WHERE conditions;
);

上述方式是利用子查询,将另一表中的符合条件数据查出来,并更新到当前表的列中。

除此之外,我们还可以使用 JOIN 链接表,来更新表数据:

sql
UPDATE table_name
JOIN table_name2
ON table_name.id = table_name2.id
SET table_name.column1 = table_name2.column1
    table_name.column1 = table_name2.column1
WHERE conditions;