SQL DROP TABLE

摘要:在本教程中,你将学习如何使用 SQL DROP TABLE 语句移除数据库中的一个或多个表。

SQL DROP TABLE 语句简介

随着数据库的发展,我们需要从数据库中移除过时或冗余的表。要删除表,我们使用 DROP TABLE 语句。

下面说明了 DROP TABLE 语句的语法。

DROP TABLE [IF EXISTS] table_name;Code language: SQL (Structured Query Language) (sql)
SQL Drop Table

要丢弃现有表,请在 DROP TABLE 从句后指定表的名称。如果要丢弃的表不存在,数据库系统就会发出错误。

为防止移除 不存在的表的错误,我们 使用可选的 IF EXISTS 从句。如果我们使用 IF EXISTS 选项,如果我们移除不存在的表,数据库系统不会抛出任何错误。一些数据库系统会转而抛出警告或通知。

请注意并非所有数据库系统都支持 IF EXISTS 选项。支持 IF EXISTS 选项的有 MySQLPostgreSQL 和 SQL Server 2016。

DROP TABLE 语句永久移除表的数据和结构。一些数据库系统要求表必须为空,才能从数据库中移除。这有助于你防止意外删除仍在使用的表。

要删除表中的所有数据,你可以使用 DELETETRUNCATE 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 语句从数据库中删除一个或多个表。
本教程有帮助吗?