top
Loading...
10.3.2.數據庫字符集和校對
10.3.2. 數據庫字符集和校對
每一個數據庫有一個數據庫字符集和一個數據庫校對規則,它不能夠為空。CREATE DATABASEALTER DATABASE語句有一個可選的子句來指定數據庫字符集和校對規則:
CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]
 
ALTER DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]

例如:

CREATE DATABASE db_name
    DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

MySQL這樣選擇數據庫字符集和數據庫校對規則:

·         如果指定了CHARACTER SET XCOLLATE Y,那么采用字符集X和校對規則Y

·         如果指定了CHARACTER SET X而沒有指定COLLATE Y,那么采用CHARACTER SET XCHARACTER SET X的默認校對規則。

·         否則,采用服務器字符集和服務器校對規則。

MySQLCREATE DATABASE ... DEFAULT CHARACTER SET ...語法與標準SQLCREATE SCHEMA ... CHARACTER SET ...語法類似。因此,可以在同一個MySQL服務器上創建使用不同字符集和 校對規則的數據庫。

如果在CREATE TABLE語句中沒有指定表字符集和校對規則,則使用數據庫字符集和校對規則作為默認值。它們沒有其它目的。

默認數據庫的字符集和校對規則可以用作character_set_databasecollation_database系統變量。無論何時默認數據庫更改了,服務器都設置這兩個變量的值。如果沒有 默認數據庫,這兩個變量與相應的服務器級別的變量(character_set_servercollation_server)具有相同的值。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/charset.html
北斗有巢氏 有巢氏北斗