3.3 創(chuàng)建、刪除和選擇數(shù)據(jù)庫
MySQL 提供了三條數(shù)據(jù)庫級(jí)的語句,它們分別是: C R E ATE DATABASE 用于創(chuàng)建數(shù)據(jù)庫,DROP DATABASE 用于刪除數(shù)據(jù)庫,USE 用于選擇缺省數(shù)據(jù)庫。
1. CREATE DATABASE 語句
創(chuàng)建一個(gè)數(shù)據(jù)庫很容易;只要在C R E ATE DATABASE 語句中給出其名稱即可:

其中限制條件是該數(shù)據(jù)庫的名稱必須是合法的,該數(shù)據(jù)庫必須不存在,并且您必須有足夠的權(quán)限來創(chuàng)建它。
2. DROP DATABASE 語句
刪除數(shù)據(jù)庫就像創(chuàng)建它一樣容易,假如有權(quán)限,執(zhí)行下列語句即可:

請(qǐng)注意,不要亂用DROP DATABASE 語句,它將會(huì)刪除數(shù)據(jù)庫及其所有的表。在刪除了一個(gè)數(shù)據(jù)庫后,該數(shù)據(jù)庫就永遠(yuǎn)沒有了。換句話說,不要僅為了看看這條語句如何工作就試著執(zhí)行該語句。如果管理員已經(jīng)正常完成了數(shù)據(jù)庫備份,那么刪除的數(shù)據(jù)庫可能還可以恢復(fù)。
請(qǐng)注意,數(shù)據(jù)庫是由數(shù)據(jù)目錄中的一個(gè)目錄表示的。如果在該目錄中放置了一些非表的數(shù)據(jù)文件,它們是不會(huì)被DROP DATABASE 語句刪除的。此時(shí),該數(shù)據(jù)庫目錄自身也不被刪除。
3. USE 語句
USE 語句選擇一個(gè)數(shù)據(jù)庫,使其成為服務(wù)器的給定連接的缺?。ó?dāng)前)數(shù)據(jù)庫:

必須對(duì)數(shù)據(jù)庫具有某種訪問權(quán)限,否則不能使用它。為了使用數(shù)據(jù)庫中的表而選擇該數(shù)據(jù)庫實(shí)際上不是必須的,因?yàn)榭梢岳胐b_name.tbl_name 形式來引用它的表。但是,不必指定數(shù)據(jù)庫限定詞引用表要方便得多。選擇一個(gè)缺省數(shù)據(jù)庫并不代表在連接的持續(xù)時(shí)間內(nèi)它都必須是缺省的??砂l(fā)布任意數(shù)目的USE 語句在數(shù)據(jù)庫之間進(jìn)行任意地切換,只要具有使用它們的權(quán)限即可。選擇一個(gè)數(shù)據(jù)庫也不限制您只使用該數(shù)據(jù)庫中的表。您仍然可以通過用數(shù)據(jù)庫名限定表名的方法,引用其他數(shù)據(jù)庫中的表。
在服務(wù)器的連接終止時(shí),服務(wù)器關(guān)于缺省數(shù)據(jù)庫的所有記憶都消失了。即,如果您再次連接到該服務(wù)器,它不會(huì)記住以前您所選擇的數(shù)據(jù)庫。事實(shí)上,假定MySQL 是多線程的,可通過一個(gè)用戶處理多個(gè)連接,用戶可以按任何順序連接或斷開,讓服務(wù)器對(duì)缺省數(shù)據(jù)庫進(jìn)行記憶的想法也是沒有意義的。在這個(gè)環(huán)境中,“以前選擇的數(shù)據(jù)庫”這句話指什么并不清楚。