注意
在删除表的同时,表的定义和表中所有的数据均会被删除,因此,在删除操作前,最好对表中的数据做个备份,以免造成无法挽回的后果!
删除没有被关联的表
可以使用 DROP TABLE
一次删除一至多个没有被其他表关联的数据表,语法规则为:
DROP TABLE [IF EXISTS] 表1,表2,……,表n;点击复制复制失败已复制
参数 IF EXISTS
用于在删除前判断表是否存在,如果没有该参数,遇到删除不存在的表就会直接抛错,中断SQL
语句的执行。有了该参数,SQL语句可以顺利执行,但是会发出警告。
示例:
$ DROP TABLE IF EXISTS user,department;点击复制复制失败已复制
删除被其他表关联的主表
在数据表之间存在外键关联关系的情况下,如果直接删除父表,结果会显示失败,原因是直接删除将破坏从表的参照完整性。如果必须要删除,可以先删除与之关联的字表,之后再删除父表。但是这样同时删除了两个表中的数据。有的情况下可能要保留字表,这是要单独删除父表,只需要将关联的表的外键约束条件取消,就可以删除父表了。
当然,也可以使用 级联删除
(CASCADE), 这种删除必须要知道语句执行的后果,否者可能造成误删除的危险! 语法如下:
$ DROP TABLE IF EXISTS user,department CASCADE;