MySQL 8.3 Release Notes
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE
删除数据库中的所有表并删除数据库。请 非常 小心使用这个语句!要使用 DROP DATABASE
,您需要在数据库上拥有 DROP
权限。 DROP SCHEMA
是 DROP DATABASE
的同义词。
Important
当数据库被删除时,授予该数据库的权限不会被自动删除。它们必须手动删除。见 第 15.7.1.6 节,“GRANT 语句”。
IF EXISTS
用于防止在数据库不存在时出现错误。
如果删除了默认数据库,则默认数据库将被 unset(DATABASE()
函数返回 NULL
)。
如果您在符号链接数据库上使用 DROP DATABASE
,则链接和原始数据库都将被删除。
DROP DATABASE
返回删除的表数。
该 DROP DATABASE
语句从给定的数据库目录中删除 MySQL 在正常操作期间可能创建的文件和目录。这包括具有以下扩展名的所有文件:
-
.BAK
-
.DAT
-
.HSH
-
.MRG
-
.MYD
-
.MYI
-
.cfg
-
.db
-
.ibd
-
.ndb
如果数据库目录中仍然存在其他文件或目录,MySQL 删除了上述文件后,数据库目录将无法删除。在这种情况下,您必须手动删除剩余的文件或目录,然后再次发出 DROP DATABASE
语句。
删除数据库不会删除在该数据库中创建的任何 TEMPORARY
表。TEMPORARY
表将在创建它们的会话结束时自动删除。见 第 15.1.20.2 节,“CREATE TEMPORARY TABLE 语句”。
您也可以使用 mysqladmin 删除数据库。见 第 6.5.2 节,“mysqladmin — 一个 MySQL 服务器管理程序”。