13 SQL Update
阿新 • • 發佈:2020-06-25
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 並非一蹴而就,需要多多練習。