Mysql数据库操作-数据库表的基本操作之删除表

0 引言

        删除数据表就是将数据库中已经存在的表从数据库中删除。注意,在删除表的同时,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无法挽回的后果。

1 删除没有被关联的表

        在MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表。语法格式如下:

  DROP TABLE [IF EXISTS]表1, 表2,…表n;

1 删除被其他表关联的主表 

        在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样就同时删除了两个表中的数据。有的情况下可能要保留子表,这时若要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表了。

 创建主表:

//从数据角度看,从表的deptid,来源于父表
//外键位于子表
//创建时应先创建主表或父表,
create table main_test(id int(11) primary key,name varchar(20),location varchar(20));
//再创建从表或子表
create table cong_test(id int(11) primary key,name varchar(20),deptid int(11),salary float,constraint fk_main_cong foreign key (deptid) references main_test(id));

//在删除时,先删除父表,由于数据有关联无法删除;先删除子表,子表删除后,数据关联消失,可以删除。
//创建时,先有id数据才能关联,因此应该先添加父表数据,再添加子表数据。

不解除关联关系,删除主表效果如图: 

先删除从表(变相解除外键关系),再删除主表:

 只解除外键关系:

  ALTER TABLE 从表名 DROP FOREIGN KEY 外键名;

先删除子表外键,后即可删除主表。 

 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值