CREATE DATABASE [IF NOT EXISTS] <數(shù)據(jù)庫名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校對規(guī)則名>]; [ ]中的內(nèi)容是可選的。語法說明如下:
數(shù)據(jù)庫名:創(chuàng)建數(shù)據(jù)庫的名稱。MySQL 的數(shù)據(jù)存儲區(qū)將以目錄方式表示 MySQL 數(shù)據(jù)庫,因此數(shù)據(jù)庫名稱必須符合操作系統(tǒng)的文件夾命名規(guī)則,不能以數(shù)字開頭,盡量要有實(shí)際意義。注意在 MySQL 中不區(qū)分大小寫。 IF NOT EXISTS:在創(chuàng)建數(shù)據(jù)庫之前進(jìn)行判斷,只有該數(shù)據(jù)庫目前尚不存在時才能執(zhí)行操作。此選項可以用來避免數(shù)據(jù)庫已經(jīng)存在而重復(fù)創(chuàng)建的錯誤。 [DEFAULT] CHARACTER SET:指定數(shù)據(jù)庫的字符集。指定字符集的目的是為了避免在數(shù)據(jù)庫中存儲的數(shù)據(jù)出現(xiàn)亂碼的情況。如果在創(chuàng)建數(shù)據(jù)庫時不指定字符集,那么就使用系統(tǒng)的默認(rèn)字符集。 [DEFAULT] COLLATE:指定字符集的默認(rèn)校對規(guī)則。 MySQL 的字符集(CHARACTER)和校對規(guī)則(COLLATION)是兩個不同的概念。字符集是用來定義 MySQL 存儲字符串的方式,校對規(guī)則定義了比較字符串的方式。后面我們會單獨(dú)講解 MySQL 的字符集和校對規(guī)則。
CREATE DATABASE IF NOT EXISTS mytestdb; 執(zhí)行此語句后,MySQL返回一條消息,通知新數(shù)據(jù)庫是否已成功創(chuàng)建。
顯示數(shù)據(jù)庫
SHOW DATABASES語句顯示MySQL數(shù)據(jù)庫服務(wù)器中的所有數(shù)據(jù)庫。您可以使用SHOW DATABASES語句來查看您要創(chuàng)建的數(shù)據(jù)庫,或者在創(chuàng)建新數(shù)據(jù)庫之前查看數(shù)據(jù)庫服務(wù)器上的所有數(shù)據(jù)庫,例如:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | | mytestdb | +--------------------+ 5 rows in set 在此MySQL數(shù)據(jù)庫服務(wù)器中有6個數(shù)據(jù)庫。 information_schema,performance_schema和mysql是我們安裝MySQL時可用的默認(rèn)數(shù)據(jù)庫,而mytestdb和testdb是創(chuàng)建的新數(shù)據(jù)庫。選擇要使用的數(shù)據(jù)庫在使用指定數(shù)據(jù)庫之前,必須通過使用USE語句告訴MySQL要使用哪個數(shù)據(jù)庫。
USE database_name; 您可以使用USE語句選擇示例數(shù)據(jù)庫(mytestdb),如下所示:
USE mytestdb; 從現(xiàn)在開始,所有操作(如查詢數(shù)據(jù),創(chuàng)建新表或調(diào)用存儲過程)都將對當(dāng)前數(shù)據(jù)庫(即mytestdb)產(chǎn)生影響。