MySQL 删除表
MYSQL使用Drop Table语句来删除现有的表。该语句从数据库中永久删除表的完整数据以及整个结构或定义。因此,在删除表时必须非常小心,因为删除后无法恢复丢失的数据。
语法
以下是在MySQL中删除表的语法:
mysql> DROP TABLE table_name;
OR,
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语句。
示例
本示例演示如何从数据库中删除一个现有的表。假设我们的数据库中包含如下图所示的一张名为”orders”的表:
要删除上面的表格,我们需要运行以下语句:
mysql> DROP TABLE orders;
它将永久删除该表。我们还可以按照下面的输出来检查表是否存在:
如果我们试图删除数据库中不存在的表,我们将收到如下所示的错误消息:
如果我们在DROP TABLE语句中使用IF EXISTS子句,MySQL将给出以下输出中可以显示的警告消息:
如何在Workbench中删除表
1. 要删除表,您需要选择该表,右键单击它,然后选择删除表选项。以下屏幕将出现:
2. 选择 立即删除 选项,从数据库中立即删除表格。
MySQL 删除多个表
有时候我们希望从数据库中删除多个表。在这种情况下,我们需要使用表名,并通过逗号操作符分隔它们。以下语句可用于删除多个表:
DROP TABLE IF EXISTS table_name1, table_name2, table, ......., table_nameN;
MySQL TRUNCATE Table vs. DROP Table
您还可以使用DROP TABLE命令来删除整个表,但它会删除完整的表数据和结构。如果您需要存储一些数据,您需要再次创建表。但是在TRUNCATE TABLE的情况下,它只删除表数据,而不删除结构。您不需要重新创建表,因为表结构已经存在。