1. 程式人生 > 實用技巧 >MySQL教程9-MySQL建立資料庫

MySQL教程9-MySQL建立資料庫

MySQL中,可以使用CREATE DATABASE語句建立資料庫,語法格式如下:

CREATE DATABASE [IF NOT EXISTS] <資料庫名>
[[DEFAULT] CHARSET <字符集名>] 
[[DEFAULT] COLLATE <校對規則名>];

[ ]中的內容是可選的。語法說明如下:

  • <資料庫名>:建立資料庫的名稱。MySQL 的資料儲存區將以目錄方式表示 MySQL 資料庫,因此資料庫名稱必須符合作業系統的資料夾命名規則,不能以數字開頭,儘量要有實際意義。注意在 MySQL 中不區分大小寫。
  • IF NOT EXISTS:在建立資料庫之前進行判斷,只有該資料庫目前尚不存在時才能執行操作。此選項可以用來避免資料庫已經存在而重複建立的錯誤。
  • [DEFAULT] CHARACTER SET:指定資料庫的字符集。指定字符集的目的是為了避免在資料庫中儲存的資料出現亂碼的情況。如果在建立資料庫時不指定字符集,那麼就使用系統的預設字符集。
  • [DEFAULT] COLLATE:指定字符集的預設校對規則。
MySQL 的字符集(CHARACTER)和校對規則(COLLATION)是兩個不同的概念。字符集是用來定義 MySQL 儲存字串的方式,校對規則定義了比較字串的方式

例項1:最簡單的建立 MySQL 資料庫的語句

在 MySQL 中建立一個名為 test_db 的資料庫。在 MySQL 命令列客戶端輸入 SQL 語句CREATE DATABASE test_db;

即可建立一個數據庫,輸入的 SQL 語句與執行結果如下。

“Query OK, 1 row affected (0.63 sec);”提示中,“Query OK”表示上面的命令執行成功,“1 row affected”表示操作隻影響了資料庫中一行的記錄,“0.63 sec”則記錄了操作執行的時間。

若再次輸入CREATE DATABASE test_db;語句,則系統會給出錯誤提示資訊,如下所示:

提示不能建立“test_db”資料庫,資料庫已存在。MySQL 不允許在同一系統下建立兩個相同名稱的資料庫。

可以加上IF NOT EXISTS從句,就可以避免類似錯誤,如下所示:

例項2:建立 MySQL 資料庫時指定字符集和校對規則

使用 MySQL 命令列工具建立一個測試資料庫,命名為 test_db_char,指定其預設字符集為 utf8,預設校對規則為 utf8_general_ci,輸入的 SQL 語句與執行結果如下所示:

這時,可以使用SHOW CREATE DATABASE檢視 test_db_char 資料庫的定義宣告,發現該資料庫的指定字符集為 utf8,執行結果如下所示: