Documentation Home
MySQL 8.0 参考手册  / 第 13 章 SQL 语句  / 13.1 数据定义语句  /  13.1.21 DROP DATABASE 语句

13.1.21 DROP DATABASE 语句

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

DROP DATABASE删除数据库中的所有表并删除数据库。请务必 谨慎对待此声明要使用 DROP DATABASE,您需要 DROP数据库的权限。 DROP SCHEMA是的同义词DROP DATABASE

重要的

删除数据库时,不会自动删除 专门为该数据库授予的权限。它们必须手动删除。请参阅第 13.7.1.4 节,“GRANT 语句”

IF EXISTS用于防止数据库不存在时发生错误。

如果删除默认数据库,则取消设置默认数据库(DATABASE()函数返回 NULL)。

如果DROP DATABASE在符号链接的数据库上使用,链接和原始数据库都会被删除。

DROP DATABASE返回已删除的表数。这对应于 .frm删除的文件数。

DROP DATABASE语句从给定的数据库目录中删除 MySQL 本身在正常操作期间可能创建的那些文件和目录:

  • 具有以下扩展名的所有文件:

    • .frm

    • .BAK

    • .DAT

    • .HSH

    • .MRG

    • .MYD

    • .MYI

    • .TRG

    • .TRN

    • .db

    • .ibd

    • .ndb

    • .par

  • 文件(db.opt如果存在)。

如果MySQL删除刚刚列出的文件或目录后,数据库目录中还有其他文件或目录,则无法删除数据库目录。在这种情况下,您必须手动删除任何剩余的文件或目录并 DROP DATABASE再次发出该语句。

删除数据库不会删除 TEMPORARY在该数据库中创建的任何表。TEMPORARY当创建它们的会话结束时,表会自动删除。请参阅 第 13.1.17.2 节,“CREATE TEMPORARY TABLE 语句”

您还可以使用mysqladmin删除数据库。请参阅第 4.5.2 节,“mysqladmin — 一个 MySQL 服务器管理程序”