MySQL 使用 JOIN
可以更加灵活高效地从与其他表有关联的表中删除数据
在使用 MySQL 进行表操作时,我们常常需要从与其他表有关联的表中删除数据。这时候就需要使用到 JOIN
,来帮助我们删除满足特定条件的数据。
阅读更多:MySQL 教程
删除语法
DELETE
语句的一般形式如下:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table1
[INNER | LEFT] JOIN table2 ON conditions
WHERE conditions
其中,table1
为要从中删除数据的表;
table2
为要与 table1
进行联结查询的表;
conditions
表示两个表关联的条件,可以使用 ON
或 WHERE
子句指定;
[LOW_PRIORITY]
、[QUICK]
、[IGNORE]
为可选参数,分别表示是否降低操作优先级、是否快速删除、是否忽略错误;
删除数据时,删除的是符合 WHERE
条件的记录,而不是整张表的数据。
实例
假设我们有两张表,一张是 student
表,另一张是 score
表。我们想删除在 score
表中成绩低于 60 分的记录,并在 student
表中相应的删除学生记录。可以使用以下的 MySQL 命令:
DELETE s, c
FROM student s
INNER JOIN score c
ON s.id = c.student_id
WHERE c.score < 60;
总结
通过使用 JOIN
,我们可以更加灵活高效地从与其他表有关联的表中删除数据。在使用 MySQL 进行操作时,要注意写清楚表名和条件,以免误删数据造成不必要的损失。