亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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 并非一蹴而就,需要多多練習。