在MySQL 中,當需要刪除已創建的數據庫時,可以使用 DROP DATABASE 語句。其語法格式為:
DROP DATABASE [ IF EXISTS ]
語法說明如下:
:指定要刪除的數據庫名。
IF EXISTS:用于防止當數據庫不存在時發生錯誤。
DROP DATABASE:刪除數據庫中的所有表格并同時刪除數據庫。使用此語句時要非常小心,以免錯誤刪除。如果要使用 DROP DATABASE,需要獲得數據庫 DROP 權限。
注意:MySQL 安裝后,系統會自動創建名為 information_schema 和 mysql 的兩個系統數據庫,系統數據庫存放一些和數據庫相關的信息,如果刪除了這兩個數據庫,MySQL 將不能正常工作。
例 1
下面在 MySQL 中創建一個測試數據庫 test_db_del。
mysql> CREATE DATABASE test_db_del;
Query OK, 1 row affected (0.08 sec)
mysql> SHOW DATABASES;
+--------------------+
Database
+--------------------+
information_schema
mysql
performance_schema
sakila
sys
test_db
test_db_char
test_db_del
world
+--------------------+
9 rows in set (0.00 sec)
使用命令行工具將數據庫 test_db_del 從數據庫列表中刪除,輸入的 SQL 語句與執行結果如下所示:
mysql> DROP DATABASE test_db_del;
Query OK, 0 rows affected (0.57 sec)
mysql> SHOW DATABASES;
+--------------------+
Database
+--------------------+
information_schema
mysql
performance_schema
sakila
sys
test_db
test_db_char
world
+--------------------+
8 rows in set (0.00 sec)
此時數據庫 test_db_del 不存在。再次執行相同的命令,直接使用 DROP DATABASE test_db_del,系統會報錯,如下所示:
mysql> DROP DATABASE test_db_del;
ERROR 1008 (HY000): Can't drop database 'test_db_del'; database doesn't exist
如果使用IF EXISTS從句,可以防止系統報此類錯誤,如下所示:
mysql> DROP DATABASE IF EXISTS test_db_del;
Query OK, 0 rows affected, 1 warning (0.00 sec)
使用 DROP DATABASE 命令時要非常謹慎,在執行該命令后,MySQL 不會給出任何提示確認信息。DROP DATABASE 刪除數據庫后,數據庫中存儲的所有數據表和數據也將一同被刪除,而且不能恢復。因此最好在刪除數據庫之前先將數據庫進行備份。備份數據庫的方法會在教程后面進行講解。