摘要:在本教程中,你将学习如何使用 SQL DROP TABLE 语句移除数据库中的一个或多个表。
SQL DROP TABLE 语句简介
随着数据库的发展,我们需要从数据库中移除过时或冗余的表。要删除表,我们使用 DROP TABLE
语句。
下面说明了 DROP TABLE
语句的语法。
DROP TABLE [IF EXISTS] table_name;
Code language: SQL (Structured Query Language) (sql)

要丢弃现有表,请在 DROP TABLE
从句后指定表的名称。如果要丢弃的表不存在,数据库系统就会发出错误。
为防止移除 不存在的表的错误,我们 使用可选的 IF EXISTS
从句。如果我们使用 IF EXISTS
选项,如果我们移除不存在的表,数据库系统不会抛出任何错误。一些数据库系统会转而抛出警告或通知。
请注意并非所有数据库系统都支持 IF EXISTS
选项。支持 IF EXISTS
选项的有 MySQL、PostgreSQL 和 SQL Server 2016。
DROP TABLE
语句永久移除表的数据和结构。一些数据库系统要求表必须为空,才能从数据库中移除。这有助于你防止意外删除仍在使用的表。
要删除表中的所有数据,你可以使用 DELETE
或 TRUNCATE TABLE
语句。
要丢弃被另一个表的 外键约束 引用的表,你必须在移除该表前禁用或移除外键约束。
SQL DROP TABLE 示例
让我们 创建一个新表 来练习 DROP TABLE
语句。
以下语句创建了一个名为 emergency_contacts
的新表,该表存储了员工的紧急联系人。
CREATE TABLE emergency_contacts (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
relationship VARCHAR(50) NOT NULL,
employee_id INT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
以下语句丢弃了 emergency_contacts
表
DROP TABLE emergency_contacts;
Code language: SQL (Structured Query Language) (sql)
SQL DROP TABLE – 移除多个表
DROP TABLE
语句允许你同时移除多个表。若要执行此操作,你需要在 DROP TABLE
从句之后指定一个逗号分隔的表列表,如下所示
DROP TABLE table_name1,table_name2,...;
Code language: SQL (Structured Query Language) (sql)
然后,数据库系统一个接一个删除所有表。
摘要
- 使用 SQL DROP TABLE 语句从数据库中删除一个或多个表。
本教程有帮助吗?