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