SQL Update
1. 定义
维基百科:
Update
指令用于更新数据库中的数据。
慕课解释:Update,传闻中增删查改中的
改
,是更新数据库数据的主要途径。
2. 前言
本小节,我们将一起学习 SQL Update
。
一般情况下,不会使用 Update 来更新所有数据,因此 Update 一般与 Where 一起搭配使用。
本小节我们将会以更新数据的多少来介绍 Update 的用法。
本小节测试数据如下,请先在数据库中执行:
DROP TABLE IF EXISTS imooc_user;
CREATE TABLE imooc_user
(
username varchar(20),
age int
);
INSERT INTO imooc_user(username,age) VALUES('pedro', 23), ('mike', 18), ('jerry', 18);
3. 语法
使用 Update 时,我们需要搭配 Set。
使用语法如下:
UPDATE [table_name] SET [col]=[val] WHERE [col]=[val];
其中table_name
时数据表名称,col
是字段名,val
是字段值。
4. 更新一条记录
通过 Where 的筛选,Update 可以做到一次只更新一条记录。
4.1 例1、更新用户年龄
请书写 SQL 语句,更新imooc_user
表中用户名为pedro
的年龄,使其年龄更新为18
。
分析:
由题干可知用户名是筛选条件,即username=pedro
,我们只需更新年龄为18,即SET age = 18
。
语句:
整理可得语句如下:
UPDATE imooc_user SET age = 18 WHERE username='pedro';
结果如下:
+----------+-----+
| username | age |
+----------+-----+
| pedro | 18 |
+----------+-----+
4.2 例2、更新用户姓名和年龄
Set 不仅可以更新单字段的值,还可以更新多字段的值。
请书写 SQL 语句,更新imooc_user
表中用户名为pedro
的年龄,使其用户名为pedrogao
,年龄更新为19
。
分析:
同上,只需添加上username
的更新值即可,字段之间使用,
隔开。
语句:
整理可得语句如下:
UPDATE imooc_user SET age = 19, username='pedrogao' WHERE username='pedro';
结果如下:
+----------+-----+
| username | age |
+----------+-----+
| pedrogao | 19 |
+----------+-----+
5. 更新多条记录
改变 Where 的筛选条件,Update 还可以一次更新多条数据记录。
5.1 例3、更新多用户年龄
请书写 SQL 语句,更新imooc_user
表中年龄为18
的用户,使其用户名为18s
。
分析:
同上,过滤条件变为了age
,更新字段变成了username
。
语句:
整理可得语句如下:
UPDATE imooc_user SET username = '18s' WHERE age=18;
结果如下:
+----------+-----+
| username | age |
+----------+-----+
| pedrogao | 19 |
| 18s | 18 |
| 18s | 18 |
+----------+-----+
6. 小结
- 切勿直接使用
UPDATE imooc_user SET age = 18;
这样的 SQL语句,会直接改掉所有的数据。 - 大部分的业务其实都是增删查改,而 Update 是占比最大的。
- 熟练掌握 Update 并非一蹴而就,需要多多练习。