程序员社区

MySQL系列教程 --- 33、MySQL UPDATE(更新) 语句详解

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

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

句法

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

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

参数说明

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

参数 说明
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]  

例子:

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

file

更新单列

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

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

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

SELECT * FROM trainer;    

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

file

更新多列

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

file

这番话说明将更新名字职业,其ID = 105人民如下表:

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

我们可以验证以下输出:

file

用于替换字符串的 UPDATE 语句

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

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

它将给出以下输出:

file

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MySQL系列教程 --- 33、MySQL UPDATE(更新) 语句详解

一个分享Java & Python知识的社区