删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。所以删除数据库需要特别谨慎,建议先备份数据。
MySQL 中删除数据库的基本SQL语句:
DROP DATABASE test2;
运行之后会询问是否删除,运行输出如下:
You're about to run a destructive command.
Do you want to proceed? (y/n): y
Your call!
Query OK, 0 rows affected
Time: 0.004s
如果你没有创建 test2 这个数据,或者你的这个数据库被删除了,再次执行查看数据库的定义 “SHOW CREATE DATABASE” 结果会输出一条错误信息,即数据库 test2 已经不存在。输出结果如下:
mysql> SHOW CREATE DATABASE test2;
ERROR 1049 (42000): Unknown database 'test2'
为了不产生错误,在删除数据库的时候可以加上一些简单的逻辑判断,判断数据库是否存在,不存在也不产生错误。
mysql> drop database if exists test2;
Query OK, 0 rows affected, 1 warning (0.00 sec)
产生一个警告说明此数据库不存在。
使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库,也可以通过这个命令来删除数据库。
mysqladmin -uroot -p drop test
Enter password:******
上面命令,会出现输出两句提示来提示你删除数据带来的风险,同时会输出一个确认删除的提示,来确认是否真的删除数据库,当数据库 test 存在,并且你输入 y 摁下了Enter键的时候,会提示删除成功。
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'test' database [y/N] y
Database "test" dropped
如果数据库不存在则提示下面信息:
mysqladmin: DROP DATABASE test failed;
error: 'Can't drop database 'test'; database doesn't exist'