SQL UPDATE

在 SQL 中,UPDATE 语句用于修改数据库表中现有的记录。

示例

--update a single value in the given row

UPDATE Customers
SET age = 21
WHERE customer_id = 1;

这里,SQL 命令将 age 列更新为 21,其中 customer_id 等于 1


SQL UPDATE TABLE 语法

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

这里,

  • table_name 是要修改的表的名称
  • column1, column2, ... 是要修改的列的名称
  • value1, value2, ... 是要设置到相应列的值
  • [WHERE condition] 是一个可选子句,指定要更新哪些行

更新行中的单个值

在 SQL 中,我们可以使用带有 WHERE 子句的 UPDATE 命令来更新单个值。例如:

-- update a single value in the given row

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

这里,如果 customer_id 等于 1,则 SQL 命令将 first_name 列的值更改为 Johnny

How to update rows in SQL?
示例:SQL UPDATE 语句

更新行中的多个值

我们也可以一次更新一行中的多个值。例如:

-- update multiple values in the given row

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

这里,如果 customer_id 等于 1,则 SQL 命令将 first_name 列的值更改为 Johnny,并将 last_name 更改为 Depp


更新多行

我们使用 UPDATE 语句一次更新多行。例如:

-- update multiple rows satisfying the condition

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

这里,如果 age22,则 SQL 命令将 country 列的值更改为 NP

如果有多行 age 等于 22,则所有匹配的行都将被修改。


更新所有行

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

-- update all rows

UPDATE Customers
SET country = 'NP';

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

注意:在使用 UPDATE 语句时应谨慎。如果省略 WHERE 子句,所有行都将被更改,并且此更改是不可逆的。


另请阅读

在我们结束之前,让我们测试一下您对 SQL UPDATE 的知识!您能解决以下挑战吗?

挑战

编写一个 SQL 查询以将每个名称转换为标题大小写。

假设您有一个名为 Users 的表。该表的模式如下:

用户

列名

数据类型

user_id

int

名称

varchar(100)

一家公司维护一个用户数据库,其中一些成员错误地以非标准格式输入了名称。有些名称全是小写或大写字母,而另一些可能是大小写混合。


为了保持一致性和专业性,公司要求数据库中的所有名称都采用标题大小写,即名称的第一个字母大写,其余字母小写。


您的任务是编写一个 SQL 查询,将 Users 表中的每个名称转换为标题大小写。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战