您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL Update

1. 定义

维基百科:Update指令用于更新中的数据。

编程之家解释:Update,传闻中增删查改中的,是更新数据的主要途径。

2. 前言

本小节,我们将一起学习 Update

一般情况下,不会使用 Update 来更新所有数据,因此 Update 一般与 Where 一起搭配使用。
本小节我们将会以更新数据的多少来介绍 Update 的。

本小节测试数据如下,请先在中执行:

DROP TABLE IF EXISTS imooc_user;CREATE TABLE imooc_user(
  username varchar(),
  age int);INSERT INTO imooc_user(username,age) VALUES('pedro', ), ('mike', ), ('jerry', );

3. 语法

使用 Update 时,我们需要搭配 Set。

使用语法如下:

UPDATE [table_name] SET [col]=[val] WHERE [col]=[val];

其中table_name时数据表,col是字段名,val是字段值。

4. 更新一条记录

通过 Where 的筛选,Update 可以做到一次只更新一条记录。

请书写 语句,更新imooc_user表中为pedro的年龄,使其年龄更新为18

分析:

由题干可知是筛选条件,即username=pedro,我们只需更新年龄为18,即SET age = 18

语句

整理可得语句如下:

UPDATE imooc_user SET age =  WHERE username='pedro';

结果如下:

+----------+-----+
| username | age |
+----------+-----+
| pedro    | 18  |
+----------+-----+

Set 不仅可以更新单字段的值,还可以更新多字段的值。

请书写 语句,更新imooc_user表中为pedro的年龄,使其为pedrogao,年龄更新为19

分析:

同上,只需上username的更新值即可,字段之间使用,隔开。

语句

整理可得语句如下:

UPDATE imooc_user SET age = , username='pedrogao' WHERE username='pedro';

结果如下:

+----------+-----+
| username | age |
+----------+-----+
| pedrogao | 19  |
+----------+-----+

5. 更新多条记录

改变 Where 的筛选条件,Update 还可以一次更新多条数据记录。

请书写 语句,更新imooc_user表中年龄为18的,使其为18s

分析:

同上,过滤条件变为了age,更新字段变成了username

语句

整理可得语句如下:

UPDATE imooc_user SET username = '18s' WHERE age=;

结果如下:

+----------+-----+
| username | age |
+----------+-----+
| pedrogao | 19  |
| 18s      | 18  |
| 18s      | 18  |
+----------+-----+

6. 小结

切勿直接使用UPDATE imooc_user SET age = 18;这样的 语句,会直接改掉所有的数据。

大部分的业务其实都是增删查改,而 Update 是占比最大的。

熟练掌握 Update 并非一蹴而就,需要多多练习。


联系我
置顶