DELETE FROM <表名>
WHERE <条件>;
DELETE FROM <表名>:指定从哪个表中删除数据
WHERE <条件>:指定删除数据的条件。如果省略 WHERE
子句,表中所有的记录都会被删除。
1. 删除某一个元组的值
WHERE
子句可以精确地指明要删除的行
要删除学号为 2018001
的学生记录:
DELETE FROM Student
WHERE Sno = '2018001';
2. 删除多个元组的值
WHERE
子句中使用 AND
或 OR
来组合多个条件,或者使用 IN
来指定多个值
删除所有年龄(Sage
)大于 21 的学生记录:
DELETE FROM Student
WHERE Sage > 21;
删除所有的学生选课记录:
DELETE FROM SC;
没有 WHERE
子句,因此它会删除 SC
表中的所有记录(元组)。执行此语句后,SC
表将变为空表
删除表中的所有数据是不可恢复的,除非在删除前有备份
3. 带子查询的删除语句
据另一个查询的结果来决定哪些行应该被删除
删除计算机科学与技术专业所有学生的选课记录:
DELETE FROM SC
WHERE Sno IN
(SELECT Sno
FROM Student
WHERE Smajor = '计算机科学与技术');
总结:
-
插入数据(INSERT):用于将新数据添加到表中,可以是单条或多条记录,也可以通过子查询插入。
-
修改数据(UPDATE):用于更新已有数据,可以修改单个或多个字段,并支持子查询更新。
-
删除数据(DELETE):用于删除表中的记录,支持删除单个或多个记录,也支持带子查询删除。