3.3 創建、刪除和選擇數據庫
MySQL提供了三條數據庫級的語句,它們分別是: CREATE DATABASE 用於創建數據庫,DROP DATABASE 用於刪除數據庫,USE 用於選擇缺省數據庫。
1. CREATE DATABASE 語句
創建一個數據庫很容易;只要在CREATE DATABASE 語句中給出其名稱即可:
其中限制條件是該數據庫的名稱必須是合法的,該數據庫必須不存在,並且您必須有足夠的權限來創建它。
2. DROP DATABASE 語句
刪除數據庫就像創建它一樣容易,假如有權限,執行下列語句即可:
請注意,不要亂用DROP DATABASE 語句,它將會刪除數據庫及其所有的表。在刪除了一個數據庫後,該數據庫就永遠沒有了。換句話說,不要僅為了看看這條語句如何工作就試著執行該語句。如果管理員已經正常完成了數據庫備份,那麼刪除的數據庫可能還可以恢復。
請注意,數據庫是由數據目錄中的一個目錄表示的。如果在該目錄中放置了一些非表的數據文件,它們是不會被DROP DATABASE 語句刪除的。此時,該數據庫目錄自身也不被刪除。
3. USE 語句
USE 語句選擇一個數據庫,使其成為服務器的給定連接的缺省(當前)數據庫:
必須對數據庫具有某種訪問權限,否則不能使用它。為了使用數據庫中的表而選擇該數據庫實際上不是必須的,因為可以利用db_name.tbl_name 形式來引用它的表。但是,不必指定數據庫限定詞引用表要方便得多。選擇一個缺省數據庫並不代表在連接的持續時間內它都必須是缺省的。可發布任意數目的USE 語句在數據庫之間進行任意地切換,只要具有使用它們的權限即可。選擇一個數據庫也不限制您只使用該數據庫中的表。您仍然可以通過用數據庫名限定表名的方法,引用其他數據庫中的表。
在服務器的連接終止時,服務器關於缺省數據庫的所有記憶都消失了。即,如果您再次連接到該服務器,它不會記住以前您所選擇的數據庫。事實上,假定MySQL是多線程的,可通過一個用戶處理多個連接,用戶可以按任何順序連接或斷開,讓服務器對缺省數據庫進行記憶的想法也是沒有意義的。在這個環境中,“以前選擇的數據庫”這句話指什麼並不清楚。