首頁 > 易卦

MySQL資料庫的刪除:DROP「DATABASE|SCHEMA」

作者:由 都市裡穿梭的風 發表于 易卦日期:2022-05-19

mysql怎麼刪除庫

小貼紙

“文章閱讀與部分提示資訊說明”

文章中,使用白底黑字部分為敘述、說明。

黑底顯示部分,為系統命令列下的程式碼資訊顯示區域;

其中白色文字為輸入的SQL語句或系統輸出的資訊,為了特別著重說明這些資訊,也會用藍色、加粗等方式 突出顯示效果;

其中紅色文字為註釋說明,也會用到加粗方式 突出顯示效果 。

今天來學習DROP命令。

程式都是四種語句狀態:新增、查詢、修改、刪除。

DROP 命令語句當然屬於第四種“刪除”語句狀態。

讓我們先透過幫助命令檢視一下該語句的語法結構

mysql> HELP ‘DROP DATABASE’;

Name: ‘DROP DATABASE’

Description:

Syntax:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

DROP DATABASE drops all tables in the database and deletes the

database。 Be very careful with this statement! To use DROP DATABASE,

you need the DROP privilege on the database。 DROP SCHEMA is a synonym

for DROP DATABASE。

*

Important*

When a database is dropped, privileges granted specifically for the

database are not automatically dropped。 They must be dropped manually。

See [HELP GRANT]。

IF EXISTS is used to prevent an error from occurring if the database

does not exist。

URL: https://dev。mysql。com/doc/refman/8。0/en/drop-database。html

從上面的資訊,我已經基本知道如何使用了。因為和建立資料庫基本一直,只是關鍵字變成了

DROP

。更加簡單的是,就連其它選項都沒有!唯一的子句是

IF EXISTS

對於語句的說明,幫助中也比較詳細。

1:刪除資料庫的同時,也會刪除資料庫中的資料表。

2:對該刪除資料庫的操作,需要非常的小心。

3:使用該語句,必須有相應的許可權。

4:

DATABASE | SCHEMA

是同義詞,都可以用於刪除資料庫。

當然,在幫助資訊中還有一些資訊,他會告訴你,這個操作不是自動的。感覺就有點廢話了。

在MySQL的官方資料中,還有一部分資訊很有意思。

刪除資料庫不會刪除在該資料庫中建立的任何 TEMPORARY(臨時表)表。 臨時表在建立它們的會話結束時自動刪除。

有點蒙是吧?這個知識點是在之後將要學習到的建立表中才會提到,不過很多書籍資料說的都是建立表,而沒有提到 臨時表 。沒事,本筆者本著深探知識為出發點,在之後的文章中一定會說到該知識點。

先來操作一下刪除資料庫吧!

GO!

mysql> SHOW DATABASES;

+——————–+

| Database |

+——————–+

| db_test1 |

| db_test2 |

| db_test3 |

| information_schema |

| mysql |

| performance_schema |

| sys |

+——————–+

7 rows in set (0。00 sec)

檢視所有資料庫名稱列表,請注意! db_test1 , db_test2 , db_test3是之前為了學習臨時建立的資料庫。 information_schema , mysql , performance_schema , sys 4個是系統自建資料庫,裡面有非常重要的資料儲存,請不要刪除!

mysql> DROP DATABASE db_test1;

#輸入刪除資料庫語句。

Query OK, 0 rows affected (0。04 sec)

mysql> DROP SCHEMA db_test2;

#輸入刪除資料庫語句。

Query OK, 0 rows affected (0。01 sec)

mysql> DROP SCHEMA IF EXISTS db_test3;

#輸入刪除資料庫語句。

Query OK, 0 rows affected (0。01 sec)

mysql> SHOW DATABASES;

+——————–+

| Database |

+——————–+

| information_schema |

| mysql |

| performance_schema |

| sys |

+——————–+

4 rows in set (0。00 sec)

#檢視刪除後的資料庫列表,確認已經刪除指定資料庫。

mysql> DROP SCHEMA IF EXISTS db_test3;

#故意再次刪除沒有的資料庫。

Query OK, 0 rows affected, 1 warning (0。00 sec)

mysql> SHOW WARNINGS;

#檢視報錯資訊。

+——-+——+——————————————————–+

| Level | Code | Message |

+——-+——+——————————————————–+

| Error | 1008 | Can’t drop database ‘db_test3’; database doesn’t exist |

+——-+——+——————————————————–+

1 row in set (0。00 sec)

mysql> DROP SCHEMA db_test3;

ERROR 1008 (HY000): Can’t drop database ‘db_test3’; database doesn’t exist

以上實際操作,我們故意使用已經被刪除的資料庫名稱,讓系統報錯。

結果與在建立資料庫時的情況一樣。

IF EXISTS 子句的加入,可以讓程式判斷,先不報錯,繼續執行該語句。

而不新增該子句時,語句就直接停止後 報錯。

到本篇寫完截止時間是2021年9月13日。

所有資料來源都是官方文件資訊,如果之後有更改調整的,學習後再與大家一起分享。

本章小結:

我們學習瞭如何在MySQL系統中對資料庫操作。

其中包括:

建立資料庫:CREATE {DATABASE | SCHEMA}

查詢資料庫:

SHOW {DATABASES | SCHEMAS}

#請注意!查詢語句中 關鍵字是代S複數的。

修改資料庫:ALTER {DATABASE | SCHEMA}

刪除資料庫:DROP {DATABASE | SCHEMA}

小貼紙

筆者水平有限,難免有錯誤的地方,如果您發現,很希望能告訴我。

raoul@foxmail。com是我的聯絡方式。也期待在學習中有任何的問題,能一起來討論,期待您的來信。

謝謝!

MySQL資料庫的刪除:DROP「DATABASE|SCHEMA」