1.刪除表的外鍵約束
外鍵是一個(gè)特殊字段部宿,其將某一個(gè)表與其父表建立關(guān)聯(lián)關(guān)系凶异。在創(chuàng)建表的時(shí)候庶柿,外鍵約束就已經(jīng)設(shè)定好了。去掉他們之間的關(guān)聯(lián)關(guān)系需要用到下面語(yǔ)句法瑟。
alter table 表名 drop foreign key 外鍵別名冀膝;
外鍵別名參數(shù)指創(chuàng)建表時(shí)設(shè)置的外鍵代號(hào)。
2.刪除沒(méi)有被關(guān)聯(lián)的普通表
drop table 表名霎挟;
刪除一個(gè)表時(shí)窝剖,表中的所有數(shù)據(jù)也會(huì)被刪除。刪除表時(shí)最好先將表中的數(shù)據(jù)備份一下酥夭。
3.刪除被其他表關(guān)聯(lián)的父表
當(dāng)刪除有關(guān)聯(lián)關(guān)系的表時(shí)赐纱,用drop table example1
會(huì)報(bào)錯(cuò),原因是有外鍵依賴于該表
例如創(chuàng)建了一個(gè)example4表依賴于example1表熬北,example4表的外鍵stu_id依賴于example1表的主鍵疙描。example1表時(shí)example4表的父表。
如果要?jiǎng)h除example4表讶隐,必須先去掉這種依賴關(guān)系起胰。最簡(jiǎn)單的辦法是先刪除子表example4,然后刪除父表example1巫延。但這樣可能會(huì)影響子表的其他數(shù)據(jù)效五。
另一種方法是先刪除子表的外鍵約束,然后刪除父表烈评。這種方法不會(huì)影響子表的其他數(shù)據(jù)火俄,可以保證數(shù)據(jù)庫(kù)的安全。
比如讲冠,example4表的外鍵別名是d_fk,刪除example4的外鍵約束
alter table example4 drop foreign key d_fk;
适瓦。
可以通過(guò)show create table example4 \G
來(lái)查看是否已刪除竿开。
然后再執(zhí)行drop table example1;
.
執(zhí)行成功則表示操作成功谱仪。