MySQL UPDATE 查询

2025年9月8日 | 5 分钟阅读

引言

在本文中,我们将详细阐述 MySQL UPDATE 语句及其各种方法。

什么是 MySQL Update 语句?

MySQL UPDATE 查询是一种 DML 语句,用于修改数据库中 MySQL 表的数据。在实际场景中,记录会随着时间的推移而改变。因此,我们也需要更改表中的值。为此,需要使用 UPDATE 查询。

UPDATE 语句与 SETWHERE 子句一起使用。SET 子句用于更改指定列的值。我们可以同时更新单个或多个列。

语法

以下是 UPDATE 命令修改 MySQL 表中数据的通用语法

参数解释

UPDATE 语句语法中使用的参数说明如下

参数描述
table_name它是我们想要执行更新的表的名称。
column_name它是我们想要使用 SET 子句和新值执行更新的列的名称。如果需要更新多个列,请使用逗号运算符分隔列,并在每个列中指定值。
WHERE 子句它是可选的。它用于指定我们将在其中执行更新的行名。如果省略此子句,MySQL 将更新所有行。

注意

  • 此语句一次只能更新单个表中的值。
  • 我们可以使用此语句同时更新单个或多个列。
  • 可以使用 WHERE 子句指定任何条件。
  • WHERE 子句非常重要,因为有时我们只想更新单个行,如果省略此子句,它会意外地更新表中的所有行。

UPDATE 命令在 MySQL 中支持这些修饰符

LOW_PRIORITY: 此修饰符指示语句延迟 UPDATE 命令的执行,直到没有其他客户端从表中读取。它仅对仅使用表级锁的存储引擎有效。

IGNORE: 此修饰符允许语句即使发生错误也不会中止执行。如果发现重复键冲突,则不更新行。

因此,UPDATE 语句的完整语法如下所示

示例

让我们通过各种示例来理解 UPDATE 语句。假设我们在 "testdb" 数据库中有一个表 "trainer"。我们将更新 "trainer" 表中的数据。

MySQL UPDATE Query

更新单列

此查询将更新 Java 课程的 电子邮件 ID 为新的 ID,如下所示

解释: 执行上述语句后,如果语句中没有错误,则会发送消息“1 行受影响”。这将更新 "trainer" 表中的上述行。此查询将更新 trainer 表的单列,例如 email = 'mike@tutorialandexamples.com',其中课程名称与 'Java' 匹配;

如果要在执行语句后检查 "trainer" 表的内容,请使用以下 SELECT 语句。

成功执行后,我们将使用以下语句验证表

在输出中,我们可以看到我们的表已根据条件进行了更新。

MySQL UPDATE Query

更新多列

UPDATE 语句也可以通过指定逗号分隔的列列表来更新多个列。假设我们有一个如下表

MySQL UPDATE Query

此语句将更新 People 表中 id = 105姓名职业,如下所示

解释: 执行上述语句后,如果语句中没有错误,则会发送消息“1 行已更新”。这将更新 "People" 表中的上述行。用户应注意列数据类型及其对应值匹配。此查询将更新 People 表的多列,例如 name = 'Mary', occupation = 'Content Writer',其中 ID 与 105 匹配;

如果要在执行语句后检查 "People" 表的内容,请使用以下 SELECT 语句。

我们可以在下面验证输出

MySQL UPDATE Query

用于替换字符串的 UPDATE 语句

我们还可以使用 MySQL 中的 UPDATE 语句来更改特定列中的字符串名称。以下示例更新 Android 课程电子邮件的域部分:

解释: 执行上述语句后,如果语句中没有错误,则会发送消息“1 行受影响”。这将更新上述行到“Trainer_table”中。用户应注意列数据类型及其对应值匹配。上述查询将使用 update 语句替换 course_name 为 testing 的电子邮件 ID。

如果要在执行语句后检查 Trainer_table 的内容,请使用以下 SELECT 语句。

它将提供以下输出

MySQL UPDATE Query

MySQL Update 语句的常见问题

1. 编写一个 MySQL 查询来计算教师更新后的工资。

答案:以教师表为例

TIDT_Name资格验证 (Qualification)薪金
T101AnshuBCA25000
T 201HarshitaMCA35000
T 301拉曼 (Raman)Mtech45000
T 401RubyBCA22000
T 501SumanMCA32000

例如

让我们考虑我们将所有教师的工资增加了 8000。

解释: 上述查询将所有教师的工资增加 8000。要验证工资是否已更新,请使用以下命令。

输出

TIDT_Name资格验证 (Qualification)薪金
T101AnshuBCA33000
T 201HarshitaMCA43000
T 301拉曼 (Raman)Mtech53000
T 401RubyBCA30000
T 501SumanMCA40000

2. 什么是 update 语句?

答案: 在 MySQL 中,update 语句用于使用以下命令更新整个表。

语法

3. 在 MySQL Update 语句中更新数据时的一些关键点列表?

答案: 以下是在 MySQL Update 语句中更新数据时的一些关键点。

语句。

  • 始终建议在 update 语句中使用 WHERE 子句,因为如果没有各种子句,所有行都将被更新。

例如:以一个教师表为例,我们想要更新教师 id = T401 的工资。

更新教师 set 工资为 Updated_Salary = 工资 + 2000;

在上述查询中,如果没有在 update 查询中提及 where 子句,它将更新所有教师的工资。

  • Ignore 子句用于控制语句中发生的错误。