MySQL Update记录

MySQL UPDATE 语句是一个 DML 语句,用于修改数据库中 MySQL 表的数据。在现实生活中,记录会在一段时间内发生变化。因此,我们还需要更改表的值。为此,需要使用 UPDATE 查询。

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

一、MySQL Update 的语句

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

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

参数说明

参数 说明
table_name 这是我们要在其中执行更新的表的名称。
column_name 这是我们要使用 SET 子句使用新值执行更新的列的名称。如果需要更新多个列,请通过指定每列中的值来使用逗号运算符分隔列。
WHERE Clause 这是可选的。它用于指定我们将在其中执行更新的行名。如果我们省略这个子句,MySQL 会更新所有行。

注意事项:

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

UPDATE 语句 在 MySQL 中支持这些修饰符:

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

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

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

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

二、MySQL Update 的示例

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

更新一列

此SQL将使用新 ID 更新Java课程的Email ID,如下所示:

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

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

SELECT * FROM trainer;

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

更新多列

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

这条SQL语句说明会更新People表中id=105的姓名和职业如下:

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

我们可以验证下面的输出:

UPDATE 语句替换字符串

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

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

输出结果为:

热门文章

优秀文章