DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE用于取消数据库中的所用表格和取消数据库。使用此语句时要非常小心!如果要使用DROP DATABASE,您需要获得数据库DROP权限。
IF EXISTS用于防止当数据库不存在时发生错误。
也可以使用DROP SCHEMA。
如果您对一个带有符号链接的数据库使用DROP DATABASE,则链接和原数据库都被取消。
DROP DATABASE会返回已被取消的表的数目。此数目相当于被取消的.frm文件的数目。
在正常操作中MySQL自身会创建出一些文件和目录。DROP DATABASE语句会从给定的数据库目录中取消这些文件和目录:
· 所有带这些扩展名的文件:
.BAK |
.DAT |
.HSH |
|
.MRG |
.MYD |
.ISD |
|
.MYI |
.db |
.frm |
|
· 名称中包含两位16进制数00-ff的所有子目录。这些子目录用于RAID表。(当对RAID表的支持被取消时,在MySQL 5.0中,这些目录不会被取消。您应该在升级到MySQL 5.0或更新的版本前转化原有的RAID表,并人工取消这些目录。请参见MySQL 5.0参考手册中有关从较早版本升级到MySQL 5.0的章节。MySQL 5.0参考手册可以从MySQL网站中获取。)
· db.opt文件
如果在MySQL取消了上述这些文件之后,在数据库目录中仍保留有其它文件和目录,则数据库目录不能被取消。在这种情况下,您必须人工取消所有保留下的文件或目录,并再次发送DROP DATABASE语句。
您还可以使用mysqladmin来取消文件。请参见8.5节,“mysqladmin:用于管理MySQL服务器的客户端”。