目录

MySQL UPDATE 语句


MySQL UPDATE 语句

这个UPDATE语句用于修改表中现有的记录。

更新语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

笔记:更新表中的记录时要小心!注意 WHERE中的条款UPDATE陈述。这WHERE子句指定应更新哪些记录。如果您省略WHERE子句中,表中的所有记录都会被更新!


演示数据库

以下是 Northwind 示例数据库中 "Customers" 表的选择:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

更新表

以下 SQL 语句使用新联系人更新第一个客户 (CustomerID = 1)一个新的城市。

示例

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt'
WHERE CustomerID = 1;

"Customers" 表中的选择现在如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK


更新多条记录

它是WHERE确定将更新多少记录的子句。

以下 SQL 语句会将国家/地区为 "Mexico" 的所有记录的邮政编码更新为 00000:

示例

UPDATE Customers
SET PostalCode = 00000
WHERE Country = 'Mexico';

"Customers" 表中的选择现在如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 00000 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 00000 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

更新警告!

更新记录时要小心。如果您省略 WHERE子句,所有记录都将被更新!

示例

UPDATE Customers
SET PostalCode = 00000;

"Customers" 表中的选择现在如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 00000 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 00000 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 00000 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London 00000 UK

通过练习测试一下

练习:

更新City中所有记录的列Customers表格。

 Customers
 City = 'Oslo';

开始练习