MySQL 删除表

2025年3月17日 | 阅读 3 分钟

MySQL 使用 Drop Table 语句来删除现有的表。此语句将永久从数据库中删除表的全部数据以及表的完整结构或定义。因此,在删除表时必须非常小心,因为我们无法恢复删除后丢失的数据。

语法

以下是在 MySQL 中删除表的语法:

MySQL 中 DROP TABLE 语句的完整语法是:

上面的语法使用了许多参数或参数。让我们逐一详细讨论:

参数名称描述
TEMPORARY这是一个可选参数,用于仅删除临时表。
table_name它指定了我们要从数据库中删除的表的名称。
IF EXISTS这是一个可选参数,与 DROP TABLE 语句一起使用,仅在表存在于数据库中时才删除表。
RESTRICT 和 CASCADE两者都是可选参数,对该语句没有影响。它们包含在 MySQL 未来版本的语法中。

注意:请注意,您必须拥有 DROP 权限才能在 MySQL 中执行 DROP TABLE 语句。

示例

此示例说明了如何从数据库中删除现有表。假设我们的数据库包含一个名为“orders”的表,如下面的图像所示:

MySQL DROP Table

要删除上述表,我们需要运行以下语句:

这将永久删除该表。我们还可以检查该表是否存在,如下面的输出所示:

MySQL DROP Table

如果我们尝试删除数据库中不存在的表,我们将收到如下错误消息:

MySQL DROP Table

如果我们使用 IF EXISTS 子句与 DROP TABLE 语句,MySQL 会给出警告消息,如下面的输出所示:

MySQL DROP Table

如何在 Workbench 中删除表

1. 要删除表,您需要选择该表,右键单击它,然后选择“删除表”选项。出现以下屏幕:

MySQL DROP Table

2. 在弹出窗口中选择“立即删除”选项,即可立即从数据库中删除该表。

MySQL 删除多个表

有时我们想从数据库中删除多个表。在这种情况下,我们必须使用表名,并用逗号分隔它们。可以使用以下语句删除多个表:

MySQL TRUNCATE Table 与 DROP Table 对比

您还可以使用 DROP TABLE 命令删除整个表,但它将删除表数据和结构。如果您需要存储一些数据,则需要重新创建表。但在 TRUNCATE TABLE 的情况下,它只删除表数据,而不删除结构。您无需再次创建表,因为表结构已存在。


下一个主题MySQL 临时表