使用 drop table 語句刪除表,最簡單的方法是直接刪除,只需提供表名即可。級(jí)聯(lián)刪除則可以通過 cascade 選項(xiàng)刪除表及其相關(guān)記錄,而 restrict 選項(xiàng)只刪除表,如果存在外鍵約束則會(huì)失敗。
如何用 MySQL 刪除表
直接刪除
最簡單的方法是使用 DROP TABLE 語句:
DROP TABLE table_name;
登錄后復(fù)制
此語句將立即刪除表及其所有數(shù)據(jù)。
級(jí)聯(lián)刪除
如果表有與其他表的外鍵關(guān)系,可以使用 CASCADE 選項(xiàng)進(jìn)行級(jí)聯(lián)刪除:
DROP TABLE table_name CASCADE;
登錄后復(fù)制
此語句將刪除表及其所有數(shù)據(jù),還將刪除其他表中引用該表的任何記錄。
受限刪除
如果表有外鍵約束,并且不想級(jí)聯(lián)刪除相關(guān)記錄,可以使用 RESTRICT 選項(xiàng):
DROP TABLE table_name RESTRICT;
登錄后復(fù)制
此語句將只刪除表,如果它與其他表有未滿足的外鍵約束,則會(huì)失敗。
其他選項(xiàng)
DROP TABLE 語句還支持以下選項(xiàng):
IF EXISTS:僅在表存在時(shí)刪除。
CHECK:如果表包含任何數(shù)據(jù),則拋出錯(cuò)誤。
PURGE:釋放表空間。
示例
刪除名為 users 的表:
DROP TABLE users;
登錄后復(fù)制
刪除表 orders 并級(jí)聯(lián)刪除其相關(guān)記錄:
DROP TABLE orders CASCADE;
登錄后復(fù)制
如果 orders 表與 customers 表有外鍵約束,并且不想級(jí)聯(lián)刪除,則使用:
DROP TABLE orders RESTRICT;
登錄后復(fù)制