10.3.3.表字符集和校對
10.3.3. 表字符集和校對
每一個表有一個表字符集和一個校對規則,它不能為空。為指定表字符集和校對規則,CREATE
TABLE 和ALTER
TABLE語句有一個可選的子句:
CREATE TABLE tbl_name (column_list)
[DEFAULT CHARACTER SET charset_name [COLLATE collation_name]]
ALTER TABLE tbl_name
[DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]
例如:
CREATE TABLE t1 ( ... )
DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
MySQL按照下面的方式選擇表字符集和 校對規則:
· 如果指定了CHARACTER SET X和COLLATE Y,那么采用CHARACTER SET X和COLLATE Y。
· 如果指定了CHARACTER SET X而沒有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默認校對規則。
· 否則,采用服務器字符集和服務器校對規則。
如果在列定義中沒有指定列字符集和校對規則,則默認使用表字符集和校對規則。表字符集和校對規則是MySQL的擴展;在標準SQL中沒有。