MySQL 删除表

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

一、MySQL 删除表的语法

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

mysql> DROP TABLE  table_name;  

或者

mysql> DROP TABLE  schema_name.table_name;  

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

DROP [ TEMPORARY ] TABLE [ IF EXISTS ] table_name [ RESTRICT | CASCADE ];  

参数说明

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

注意:需要注意的是,您必须具有 DROP 权限才能在 MySQL 中执行 DROP TABLE 语句。 

二、MySQL 删除表的示例

此示例指定我们如何从数据库中删除现有表。假设我们的数据库包含一个表“orders”,如下图所示:

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

mysql> DROP TABLE  orders;    

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

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

如果我们在 DROP TABLE 语句中使用 IF EXISTS 子句,MySQL 会给出警告消息,可以在以下输出中显示:

三、如何在 MySQL Workbench 中删除表

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

2. 在弹出窗口中选择Drop Now选项以立即从数据库中删除该表。

四、MySQL DROP 删除多张表

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

DROP TABLE IF EXISTS table_name1, table_name2, table, ......., table_nameN;  

五、MySQL TRUNCATE 表与 DROP 表

您也可以使用 DROP TABLE 命令删除完整的表,但它会删除完整的表数据和结构。如果必须存储一些数据,则需要重新创建表。但在 TRUNCATE TABLE 的情况下,它只删除表数据,而不是结构。您不需要重新创建表,因为表结构已经存在。

热门文章

优秀文章