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服务器的客户端”。
