mysql刪庫(kù)語(yǔ)句是“DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫(kù)名”,可以刪除數(shù)據(jù)庫(kù)中的所有表格并同時(shí)刪除數(shù)據(jù)庫(kù);其中,關(guān)鍵字“IF EXISTS”是可選部分,如果設(shè)置了可防止當(dāng)數(shù)據(jù)庫(kù)不存在時(shí)發(fā)生錯(cuò)誤。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,刪除數(shù)據(jù)庫(kù)意味著數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)和關(guān)聯(lián)對(duì)象將被永久刪除,并且無法撤消。 因此,用額外的注意事項(xiàng)執(zhí)行此查詢是非常重要的。要?jiǎng)h除數(shù)據(jù)庫(kù),請(qǐng)使用DROP DATABASE語(yǔ)句,如下所示:
DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫(kù)名;
語(yǔ)法說明如下:
-
數(shù)據(jù)庫(kù)名:指定要?jiǎng)h除的數(shù)據(jù)庫(kù)名。
-
IF EXISTS:可選部分,用于防止當(dāng)數(shù)據(jù)庫(kù)不存在時(shí)發(fā)生錯(cuò)誤。
-
DROP DATABASE:刪除數(shù)據(jù)庫(kù)中的所有表格并同時(shí)刪除數(shù)據(jù)庫(kù)。使用此語(yǔ)句時(shí)要非常小心,以免錯(cuò)誤刪除。如果要使用 DROP DATABASE,需要獲得數(shù)據(jù)庫(kù) DROP 權(quán)限。
如果要使用DROP DATABASE語(yǔ)句練習(xí),可以創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù),然后將其刪除。來看下面的查詢:
CREATE DATABASE IF NOT EXISTS tempdb; SHOW DATABASES; DROP DATABASE IF EXISTS tempdb;
三個(gè)語(yǔ)句的說明如下:
-
首先,使用CREATE DATABASE語(yǔ)句創(chuàng)建了一個(gè)名為tempdb的數(shù)據(jù)庫(kù)。
-
第二,使用SHOW DATABASES語(yǔ)句顯示所有數(shù)據(jù)庫(kù)。
-
第三,使用DROP DATABASE語(yǔ)句刪除了名為tempdb的數(shù)據(jù)庫(kù)。
如果沒有test_db_del數(shù)據(jù)庫(kù),又使用命令從數(shù)據(jù)庫(kù)列表中刪除該數(shù)據(jù)庫(kù),系統(tǒng)會(huì)報(bào)錯(cuò),如下所示:
mysql> DROP DATABASE test_db_del; ERROR 1008 (HY000): Can't drop database 'test_db_del'; database doesn't exist
如果使用IF EXISTS從句,可以防止系統(tǒng)報(bào)此類錯(cuò)誤,如下所示:
mysql> DROP DATABASE IF EXISTS test_db_del; Query OK, 0 rows affected, 1 warning (0.00 sec)
使用 DROP DATABASE 命令時(shí)要非常謹(jǐn)慎,在執(zhí)行該命令后,MySQL 不會(huì)給出任何提示確認(rèn)信息。DROP DATABASE 刪除數(shù)據(jù)庫(kù)后,數(shù)據(jù)庫(kù)中存儲(chǔ)的所有數(shù)據(jù)表和數(shù)據(jù)也將一同被刪除,而且不能恢復(fù)。因此最好在刪除數(shù)據(jù)庫(kù)之前先將數(shù)據(jù)庫(kù)進(jìn)行備份。
【