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 服务器管理程序”。