DROP DATABASE语句
DROP {DATABASE |SCHEMA } [IF EXISTS ] db_name
DROP DATABASE
删除数据库中的所有表并删除数据库。此声明要非常小心!要使用DROP DATABASE
,您需要DROP
数据库特权。DROP SCHEMA
是的同义词DROP DATABASE
。
重要删除数据库时,不会自动删除专门为该数据库授予的特权。必须手动删除它们。请参见“ 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
创建它们的会话结束时,将自动删除这些表。请参见“ CREATE TEMPORARY TABLE语句”。
您也可以使用mysqladmin删除数据库。请参见“mysqladmin-用于管理MySQL服务器的客户端”。