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
子句。