MySQL 8.4 Release Notes
15.1.24 删除数据库语句
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE
删除数据库中的所有表并删除数据库。使用DROP DATABASE
,需要在数据库上拥有DROP
权限。DROP SCHEMA
是DROP DATABASE
的同义词。
Important
当数据库被删除时,特定于该数据库的权限不会自动删除。需要手动删除。见第15.7.1.6节,“GRANT 语句”。
IF EXISTS
用于防止数据库不存在时发生错误。
如果删除默认数据库,缺省数据库将被取消(DATABASE()
函数返回 NULL
)。
如果使用DROP DATABASE
删除符号链接数据库,both 链接和原始数据库都会被删除。
DROP DATABASE
返回删除的表数量。
语句DROP DATABASE
从给定的数据库目录中移除 MySQL 自身可能在正常操作中创建的文件和目录。这包括以下扩展名的所有文件:
-
.BAK
-
.DAT
-
.HSH
-
.MRG
-
.MYD
-
.MYI
-
.cfg
-
.db
-
.ibd
-
.ndb
如果 MySQL 移除的文件和目录后,数据库目录中还有其他文件或目录,那么不能删除该数据库。在这种情况下,您必须手动删除剩余的文件或目录,然后再次执行DROP DATABASE
语句。
删除数据库不删除该数据库中创建的临时表。TEMPORARY
表在创建它们的会话结束时自动被删除。见第15.1.20.2节,“CREATE TEMPORARY TABLE 语句”。
您也可以使用 mysqladmin 删除数据库。见第6.5.2节,“mysqladmin — 一个 MySQL 服务器管理程序”.