MySQL UPDATE查询
MySQL UPDATE查询是DML语句,用于修改数据库中MySQL表的数据。在现实生活中,记录会在一段时间内更改。因此,我们还需要更改表的值。为此,需要使用UPDATE查询。
UPDATE语句与
SET 和
WHERE 子句。 SET子句用于更改指定列的值。我们可以一次更新单个或多个列。
语法
以下是UPDATE命令的通用语法,用于将数据修改为 MySQL 表:
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" 数据库中有一个表
"培训师" 。我们将更新"培训师"表中的数据。
更新单个列
此查询将使用新的ID更新Java的
电子邮件ID 课程,如下所示:
UPDATE trainer
SET email = 'mike@tutorialandexamples.com'
WHERE course_name = 'Java';
成功执行后,我们将使用以下语句验证表:
在输出中,我们可以看到我们的表已根据我们的条件进行了更新。
更新多个列
还可以通过指定以逗号分隔的列列表来使用UPDATE语句更新多个列。假设我们有一个如下表:
此语句说明将更新
名称和
职业,它们在
People 表中的
id = 105 如下:
UPDATE People
SET name = 'Mary', occupation = 'Content Writer'
WHERE id = 105;
我们可以验证下面的输出:
UPDATE语句以替换字符串
我们还可以在MySQL中使用UPDATE语句来更改特定列中的字符串名称。以下示例更新了
Android课程的电子邮件的域部分:
UPDATE Trainer_table
SET email = REPLACE(email,'@lidihuo.com','@tutorialandexample.com')
WHERE course_name = 'Testing';
它将提供以下输出: