資料庫基礎:UPDATE
外觀
資料庫並不總是完美的,我們可能需要更改資料庫中的資料。例如,在 Facebook 上,如果有人很煩人,並且你限制了他們對你個人資料的訪問許可權,則需要將訪問欄位從“正常”更新為“限制”。或者,如果我們其中一個罪犯又多了一個疤痕,你將需要更新 numScars 欄位。讓我們看一下這個例子,其中我們的罪犯 Peter 在右臉頰上又多了一個疤痕。這是他最初的狀態
name: Peter numScars: 7
UPDATE crooks
SET numScars = 8
但這裡有一個問題,此語句將所有記錄更新為 numScars = 8。這意味著每個罪犯現在將有 8 個疤痕!
| ID | 姓名 | 性別 | 出生日期 | 城鎮 | numScars |
|---|---|---|---|---|---|
| 1 | Geoff | 男 | 12/05/1982 | Hull | 8 |
| 2 | Jane | 女 | 05/08/1956 | York | 8 |
| 3 | Keith | 男 | 07/02/1999 | Snape | 8 |
| 4 | Oliver | 男 | 22/08/1976 | Blaxhall | 8 |
| 5 | Kelly | 女 | 11/11/1911 | East Ham | 8 |
| 6 | Marea | 女 | 14/07/1940 | Wythenshawe | 8 |
我們需要使用 WHERE 子句來指定要更新的罪犯,你之前在 SELECT 示例中已經看到了它。
UPDATE crooks
SET numScars = 8
WHERE name = "Peter" --only updates those people who are called Peter
|
練習:UPDATE 語句 使用上述資料集,編寫一個 UPDATE 語句將 Geoff 的出生日期更改為 1939 年 12 月 17 日 答案 UPDATE crooks
SET DoB = '17/12/1939'
WHERE name = 'Geoff'
所有罪犯都搬到了金絲雀碼頭,更新表格以顯示這一點 答案 UPDATE crooks
SET town = 'Canary Wharf'
所有名叫 Sheila 的女罪犯都撒謊了年齡,她們都出生於 1984 年 1 月 16 日 答案 UPDATE crooks
SET DoB = '16/01/1984' ---be careful with dates, they might be using American format
WHERE name = 'Sheila'
AND gender = 'Female'
|