UPDATE 语句用于更新表中已存在的记录。
SQL UPDATE 语法
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
请注意 SQL UPDATE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!
SQL UPDATE 示例
演示数据库
在猿变手册教程中,我们将使用 yuanbian 样本数据库。
下面是选自 "articles" 表的数据:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------—+--------+---------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+
UPDATE 语句
假设要把 "hadood简介" 的 作者修改为"小猿"。
我们使用下面的 SQL 语句:
UPDATE articles
SET author='小猿'
WHERE id=1;
执行以上 SQL,再读取 "articles" 表,数据如下所示:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------—+--------+---------------------+
| 1 | hadoop简介 | 小猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+
Update 警告!
在更新记录时要格外小心!在上面的实例中,如果省略了 WHERE 子句,如下所示:
UPDATE articles
SET author='小猿'
执行以上代码会将 articles 表中所有数据的 author 改为 "小猿"。
执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。
讨论区