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';
输出结果为:
热门文章
优秀文章