DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE
删除数据库中的所有表并删除该数据库。请务必谨慎使用此语句!要使用DROP DATABASE
,您需要对该数据库具有DROP
权限。 DROP SCHEMA
是 DROP DATABASE
的同义词。
删除数据库时,专门授予该数据库的权限不会自动删除。必须手动删除它们。请参阅 第 15.7.1.6 节,“GRANT 语句”。
IF EXISTS
用于防止在数据库不存在时发生错误。
如果删除默认数据库,则默认数据库将被取消设置(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 服务器管理程序”。