SQL UPDATE語句用於修改資料庫中已有的資料。 WHERE
子句中的條件決定要更新哪一行。
語法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
假設有一個EMPLOYEE
表,它的結構和資料記錄如下所示 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Kristen | Washington | 500000 | 29 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
更新EMP_NAME
列,並在SALARY
為500000
的行中將值設定為「Emma」
。
語法
UPDATE table_name
SET column_name = value
WHERE condition;
查詢語句 -
UPDATE EMPLOYEE
SET EMP_NAME = 'Emma'
WHERE SALARY = 500000;
執行此查詢後,EMPLOYEE
表將如下所示:
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Emma | Washington | 500000 | 29 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
如果要更新多個列,則應將用逗號分配的每個欄位分開。 在EMPLOYEE
表中,將EMP_NAME
列更新為「Kevin」
,將CITY
更新為「Boston」
,指定EMP_ID
為5
。
語法
UPDATE table_name
SET column_name = value1, column_name2 = value2
WHERE condition;
查詢語句
UPDATE EMPLOYEE
SET EMP_NAME = 'Kevin', City = 'Boston'
WHERE EMP_ID = 5;
查詢結果 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
4 | Kristen | Washington | 500000 | 29 |
5 | Kevin | Boston | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
如果要更新表中的所有行,則不需要使用WHERE
子句。 在EMPLOYEE
表中,將EMP_NAME
列更新為「Harry」
。
語法
UPDATE table_name
SET column_name = value1;
查詢語句如下 -
UPDATE EMPLOYEE
SET EMP_NAME = 'Harry';
執行上面語句,得到以下結果 -
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Harry | Chicago | 200000 | 30 |
2 | Harry | Austin | 300000 | 26 |
3 | Harry | Denver | 100000 | 42 |
4 | Harry | Washington | 500000 | 29 |
5 | Harry | Los angels | 200000 | 36 |
6 | Harry | Canada | 600000 | 48 |