SQL DELETE語句用於從表中刪除行。 通常,DELETE
語句從表中刪除一個或多個記錄。
語法
DELETE FROM table_name WHERE some_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 |
要刪除表EMPLOYEE
中EMP_NAME ='Kristen'
的行,這將僅刪除第四行。
查詢語句 -
DELETE FROM EMPLOYEE
WHERE EMP_NAME = 'Kristen';
執行此查詢後,EMPLOYEE
表將如下所示:
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
1 | Angelina | Chicago | 200000 | 30 |
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
從EMPLOYEE
表中刪除AGE
為30
的行。這將刪除兩行(第一行和第三行)。
查詢語句:
DELETE FROM EMPLOYEE WHERE AGE= 30;
執行此查詢後,EMPLOYEE
表將如下所示:
EMP_ID | EMP_NAME | CITY | SALARY | AGE |
---|---|---|---|---|
2 | Robert | Austin | 300000 | 26 |
3 | Christian | Denver | 100000 | 42 |
5 | Russell | Los angels | 200000 | 36 |
6 | Marry | Canada | 600000 | 48 |
要刪除EMPLOYEE
表中的所有行。 在執行此查詢之後, EMPLOYEE
表中不再有記錄。
語法
DELETE * FROM table_name;
# 或者
DELETE FROM table_name;
查詢語句 -
DELETE FROM EMPLOYEE;
執行此查詢後,EMPLOYEE
表所有記錄被刪除。
注意:使用
WHERE
子句中的條件,可以刪除單個記錄和多個記錄。 如果要刪除表中的所有記錄,則不需要使用WHERE
子句。