課程 19:更新資料 (UPDATE)
深入學習 SQL UPDATE 語句,包含單筆與多筆資料更新方式,搭配條件篩選與互動模擬範例,強化資料維護技巧。
一、什麼是 UPDATE 語句?
UPDATE
語句用於修改資料表中現有的記錄。- 您可以使用
SET
子句指定要修改的欄位及其新值。 - 通常會搭配
WHERE
子句來指定要更新哪些記錄;如果省略WHERE
子句,將更新資料表中的所有記錄(請小心使用!)。
二、UPDATE 語法
UPDATE table_name\nSET column1 = value1, column2 = value2, ...\nWHERE condition;\n
table_name
: 要更新的資料表名稱。SET
: 指定要修改的欄位及其新值。column1 = value1, ...
: 要更新的欄位列表及其對應的新值。您可以更新一個或多個欄位。WHERE condition
: 可選的子句,用於過濾哪些記錄將被更新。如果省略,所有記錄都會被更新。
三、SQL更新單一記錄
範例:更新 id 為 1 的客戶的電話號碼。
UPDATE customers\nSET phone = \'0987654321\'\nWHERE id = 1;\n
四、SQL更新多個記錄
範例:將所有居住在 \’台北\’ 的客戶的城市改為 \’新北\’。
UPDATE customers\nSET city = \'新北\'\nWHERE city = \'台北\';\n
五、SQL常見錯誤
- 忘記寫
WHERE
子句,導致更新了資料表中的所有記錄。 SET
子句中的欄位名稱或值類型不匹配。WHERE
子句中的條件寫錯,導致更新了錯誤的記錄或沒有記錄被更新。- 更新時違反了資料表的約束(例如唯一約束或外鍵約束)。
六、SQL課後小練習
- 假設有一個
products
表 (id, name, price, stock)。請寫出一個查詢,將 id 為 5 的商品的價格提高 10%。 - 請寫出另一個查詢,將所有庫存 (stock) 低於 10 的商品的庫存量設置為 20。
互動練習:更新資料模擬
客戶資料表(customers)
id | name | phone | city |
---|---|---|---|
1 | 小明 | 0912345678 | 台北 |
2 | 小美 | 0922334455 | 台中 |
3 | 小王 | 0933445566 | 高雄 |
4 | 小陳 | 0955667788 | 台北 |