MySQL 更新查询

MySQL 更新查询

MySQL UPDATE查询是一种数据操作语言语句,用于修改数据库中的MySQL表的数据。在现实生活中,记录会随着时间的推移而发生变化。因此,我们需要对表格的值进行更改。为此,需要使用UPDATE查询。

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

语法

以下是用于将数据修改为MySQL表的UPDATE命令的通用语法:

UPDATE table_name   
SET column_name1 = new-value1, 
        column_name2=new-value2, ...  
[WHERE Clause]

参数解释

下面给出了UPDATE语句语法中使用的参数的描述:

参数 描述
table_name 要执行更新操作的表的名称。
column_name 要使用SET子句将新值更新到的列的名称。如果需要更新多列,请使用逗号分隔符将列指定为每列的值。
WHERE子句 可选的。用于指定要执行更新操作的行的名称。如果省略此子句,MySQL将更新所有行。

注意:

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

UPDATE命令在MySQL中支持以下修饰符:

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

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

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

UPDATE [LOW_PRIORITY] [IGNORE] table_name
    SET column_assignment_list
    [WHERE condition]

例子:

让我们通过各种例子来理解UPDATE语句的用法。假设我们在名为”testdb”的数据库中有一个名为”trainer”的表。我们将要更新”trainer”表中的数据。

MySQL 更新查询

更新单列

此查询将使用以下新ID更新Java课程的电子邮件ID:

UPDATE trainer  
SET email = 'mike@tutorialandexamples.com'  
WHERE course_name = 'Java';

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

SELECT * FROM trainer;  

在输出结果中,我们可以看到根据我们的条件,我们的表格已被更新。

MySQL 更新查询

更新多个列

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

MySQL 更新查询

这个语句将会更新 nameoccupation ,它们对应的 id = 105People 表中的值如下所示:

UPDATE People
SET name = 'Mary', occupation = 'Content Writer'
WHERE id = 105;

我们可以验证以下输出:

MySQL 更新查询

更新语句以替换字符串

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

UPDATE Trainer_table
SET email = REPLACE(email,'@javatpoint.com','@tutorialandexample.com')
WHERE course_name = 'Testing';

它将产生以下输出:

MySQL 更新查询

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程