删除语句的一般格式为:
DELETE
FROM <表名>
[WHERE <条件>];
DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,表示删除表中全部元组,但表的定义仍在字典中。也就是说,DELETE语句删除的是表中的数据,而不是关于表的定义。
| 一、 | 删除某一个元组的值 | |||
| 例7 | 删除学号为95019的学生记录 | |||
|
||||
|
DELETE操作也是一次只能操作一个表,因此同样会遇到UPDATE操作中提到的数据不一致问题。比如95019学生被删除后,有关他的选课信息也应同时删除,而这必须用一条独立的DELETE语句完成。 |
||||
| 二、 | 删除多个元组的值 | |||
| 例8 |
删除所有的学生选课记录 | |||
| DELETE FROM SC; 这条DELETE语句将使SC成为空表,它删除了SC的所有元组。 |
||||
| 三、 | 带子查询的删除语句 | |||
| 子查询同样也可以嵌套在DELETE语句中,用以构造执行删除操作的条件。 | ||||
| 例9 |
删除计算机科学系所有学生的选课记录 | |||
| DELETE FROM SC WHERE 'CS'= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno); |

