一、基本语法
1. `DELETE` 关键字用于删除数据库中的记录。
2. `FROM` 关键字指定要删除记录的表。
3. `WHERE` 子句用于指定要删除记录的条件。
二、删除所有记录
```sql
DELETE FROM table_name
```
三、删除指定条件的记录
```sql
DELETE FROM table_name
WHERE condition
```
四、完整性约束
当删除记录时,可能会违反外键完整性约束。
如果外键完整性约束被违反,则删除操作将失败。
五、级联删除
级联删除是一种自动删除相关记录的功能。
当删除父记录时,级联删除会自动删除所有相关子记录。
六、删除多行记录
可以使用 `IN` 子句删除多行记录。
`IN` 子句指定要删除的记录的列表。
七、删除重复记录
可以使用 `DISTINCT` 关键字删除重复记录。
`DISTINCT` 关键字只保留一个重复记录。
八、其他技巧
使用 `LIMIT` 子句只删除指定数量的记录。
使用 `ORDER BY` 子句指定删除记录的顺序。
使用 `RETURNING` 子句返回已删除记录。
九、使用示例
```sql
-- 删除所有学生记录
DELETE FROM students;
-- 删除成绩低于 60 分的学生记录
DELETE FROM students
WHERE gpa < 60;
-- 删除所有课程记录
DELETE FROM courses;
-- 删除所有与学生 1 相关的成绩记录
DELETE FROM grades
WHERE student_id = 1;
-- 级联删除所有与课程 1 相关的成绩记录
DELETE FROM grades
WHERE course_id = 1;
-- 删除所有重复的学生记录
DELETE FROM students
WHERE id IN (
SELECT id
FROM students
GROUP BY name
HAVING COUNT() > 1
);
```
相关文章
发表评论