MySQL UPDATE 语句
MySQL UPDATE 语句
The UPDATE
语句用于修改表中现有的记录。
UPDATE 语法
UPDATE 表名
SET 列1 = 值1, 列2 = 值2, ...
WHERE 条件;
注意:在更新表中的记录时要小心!请注意 WHERE
语句中的子句。The 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 | 墨西哥城 | 05021 | 墨西哥 |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | 墨西哥城 | 05023 | 墨西哥 |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | 伦敦 | WA1 1DP | 英国 |
更新表格
以下 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 | 法兰克福 | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | 墨西哥城 | 05021 | 墨西哥 |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | 墨西哥城 | 05023 | 墨西哥 |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | 伦敦 | WA1 1DP | 英国 |
更新多条记录
是 WHERE
子句决定了要更新多少条记录。
以下 SQL 语句将把所有国家为“墨西哥”的记录的 PostalCode 更新为 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 | 法兰克福 | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | 墨西哥城 | 00000 | 墨西哥 |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | 墨西哥城 | 00000 | 墨西哥 |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | 伦敦 | WA1 1DP | 英国 |
更新警告!
更新记录时要小心。如果您省略 WHERE
子句,将更新 _所有_ 记录!
示例
UPDATE Customers
SET PostalCode = 00000;
"Customers" 表中的选择现在将如下所示
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | 法兰克福 | 00000 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | 墨西哥城 | 00000 | 墨西哥 |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | 墨西哥城 | 00000 | 墨西哥 |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | 伦敦 | 00000 | 英国 |