跳到主要内容

SQL更新语句(UPDATE)

提示
  1. 基本用途UPDATE 语句用于编辑数据库表中的现有行,可以更改一个或多个列的值。
  2. 条件更新:通过结合 WHERE 子句,可以根据特定条件更新特定行,例如根据 customer_idage
  3. 更新多个行和所有行:可以一次性更新多个行(通过指定条件)或整个表中的所有行(如果没有使用 WHERE 子句)。

SQL UPDATE 语句用于编辑数据库表中的现有行。

示例

UPDATE Customers
SET age = 21
WHERE customer_id = 1;

这里,SQL 命令将 age 列的值更改为 21,条件是 customer_id 等于 1

UPDATE 语法

SQL UPDATE 语句的语法是:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
[WHERE condition];

这里,

  • table_name 是要编辑的表的名称
  • column1, column2, ... 是要编辑的列的名称
  • value1, value2, ... 是要设置给相应列的值
  • [...] 表示括号内的子句是可选的
  • condition 是更改值的条件

更新行中的单个值

在 SQL 中,可以使用 UPDATE 命令和 WHERE 子句更新单个值。例如,

UPDATE Customers
SET first_name = 'Johnny'
WHERE customer_id = 1;

这里,SQL 命令将 first_name 列的值更改为 Johnny,条件是 customer_id 等于 1

如何在 SQL 中更新行?

注意: 如果我们想插入新行而不是更新现有行,我们可以使用 SQL INSERT INTO 语句。

更新行中的多个值

我们还可以一次更新单个行中的多个值。例如,

UPDATE Customers
SET first_name = 'Johnny', last_name = 'Depp'
WHERE customer_id = 1;

这里,SQL 命令将 first_name 列的值更改为 Johnnylast_name 更改为 Depp,条件是 customer_id 等于 1

更新多个行

UPDATE 语句可以一次更新多个行。例如,

UPDATE Customers
SET country = 'NP'
WHERE age = 22;

这里,SQL 命令将 country 列的值更改为 NP,条件是 age 等于 22。如果有多个行的 age 等于 22,则所有匹配的行都会被编辑。

更新所有行

我们可以通过省略 WHERE 子句一次更新表中的所有行。例如,

UPDATE Customers
SET country = 'NP';

这里,SQL 命令将所有行的 country 列的值更改为 NP

注意: 我们在使用 UPDATE 语句时应该小心谨慎。如果省略 WHERE 子句,所有的行都会被更改,而且这种更改是不可逆的。