光看名字就知道這是創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)句,使用方法如下:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
CREATE DATABASE語(yǔ)句創(chuàng)建指定的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的名字由db_name給出,執(zhí)行該語(yǔ)句需要CREATE權(quán)限。CREATE SCHEMA和 CREATE DATABASE是等價(jià)的。
如果數(shù)據(jù)庫(kù)已經(jīng)存在并且沒(méi)有聲明 IF NOT EXISTS程序就會(huì)報(bào)錯(cuò),聲明了 IF NOT EXISTS則會(huì)取消創(chuàng)建該數(shù)據(jù)庫(kù),繼續(xù)執(zhí)行下面的語(yǔ)句。
create_specification有兩個(gè)選項(xiàng),分別是DEFAULT CHARACTER SET和 DEFAULT COLLATE。
DEFAULT CHARACTER SET設(shè)置數(shù)據(jù)庫(kù)的默認(rèn)編碼,我們?cè)诮?shù)據(jù)庫(kù)的時(shí)候都要設(shè)置編碼,因?yàn)镸ySQL默認(rèn)的編碼Latin是不支持中文的。
特別需要注意的是在設(shè)置編碼的時(shí)候utf-8要寫(xiě)成utf8.
DEFAULT COLLATE設(shè)置數(shù)據(jù)庫(kù)的默認(rèn)排序規(guī)則,同樣如果我們不設(shè)置的話就會(huì)使用默認(rèn)值。
一個(gè)創(chuàng)建數(shù)據(jù)庫(kù)的例子如下:
CREATE DATABASE IF NOT EXISTS test_database
DEFAULT CHARACTER SET='utf8'
DEFAULT COLLATE='utf8_bin';