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