- MySQL入門很輕松(微課超值版)
- 云尚科技
- 848字
- 2020-09-18 11:30:48
4.5 刪除數據表

對于不再需要的數據表,可以將其從數據庫中刪除。本節將詳細講解數據庫中數據表的刪除方法。
4.5.1 刪除沒有被關聯的表
在MySQL中,使用DROP TABLE可以一次刪除一個或多個沒有被其他表關聯的數據表。語法格式如下:
DROP TABLE [IF EXISTS]表1,表2,…,表n;
主要參數介紹如下。
- 表n:指要刪除的表的名稱,后面可以同時刪除多個表,只需將刪除的表名一次寫在后面,相互之間用逗號隔開。
【實例13】刪除數據表emp_01,輸入如下語句:
DROP TABLE emp_01;
執行結果如圖4-26所示。
使用“SHOW TABLES;”語句查看當前數據庫中所有的數據表,查看結果如圖4-27所示。從執行結果可以看出,數據庫中已經沒有了數據表emp_01,說明數據表刪除成功。

圖4-26 刪除表emp_01

圖4-27 數據表刪除成功
4.5.2 刪除被其他表關聯的主表
在數據表之間存在外鍵關聯的情況下,如果直接刪除父表,結果會顯示失敗。原因是直接刪除,將破壞表的參照完整性。如果必須要刪除,可以先刪除與它關聯的子表,再刪除父表,只是這樣會同時刪除兩個表中的數據。如果想要單獨刪除父表,只需將關聯的表的外鍵約束條件取消,然后再刪除父表即可。
【實例14】刪除存在關聯關系的數據表。
在數據庫mydbase中創建兩個關聯表,首先,創建表tb_1,SQL語句如下:

執行結果如圖4-28所示。
接下來創建表tb_2,SQL語句如下:

執行結果如圖4-29所示。

圖4-28 創建數據表tb_1

圖4-29 創建數據表tb_2
使用SHOW CREATE TABLE命令查看表tb_2的外鍵約束,SQL語句如下:
SHOW CREATE TABLE tb_2\G
執行結果如圖4-30所示,從結果可以看到,在數據表tb_2上創建了一個名稱為fk_tb_dt的外鍵約束。

圖4-30 查看數據表的結構
下面直接刪除父表tb_1,輸入刪除語句如下:
DROP TABLE tb_1;
執行結果如圖4-31所示,可以看到,如前面所述,在存在外鍵約束時,父表不能被直接刪除。
接下來,解除關聯子表tb_2的外鍵約束,SQL語句如下:
ALTER TABLE tb_2 DROP FOREIGN KEY fk_tb_dt;
語句執行結果如圖4-32所示,將取消表tb_1和tb_2之間的關聯關系。

圖4-31 直接刪除父表

圖4-32 取消表的關聯關系
此時,再次輸入刪除語句,將原來的父表tb_1刪除,SQL語句如下:
DROP TABLE tb_1;
執行結果如圖4-33所示。最后通過“SHOW TABLES;”語句查看數據表列表,結果如圖4-34所示,可以看到,數據表列表中已經不存在名稱為tb_1的表。

圖4-33 刪除父表tb_1

圖4-34 查看數據表列表
- Learning Python Web Penetration Testing
- PHP動態網站程序設計
- 程序員面試白皮書
- Java 開發從入門到精通(第2版)
- Debian 7:System Administration Best Practices
- 樂學Web編程:網站制作不神秘
- Creating Stunning Dashboards with QlikView
- 微信小程序開發與實戰(微課版)
- JSP程序設計實例教程(第2版)
- 后臺開發:核心技術與應用實踐
- Photoshop智能手機APP界面設計
- 軟件設計模式(Java版)
- Mastering JavaScript Promises
- 從零開始學UI設計·基礎篇
- AI輔助編程Python實戰:基于GitHub Copilot和ChatGPT