每一个“字符”列(即,CHARVARCHARTEXT类型的列)有一个列字符集和一个列 校对规则,它不能为空。列定义语法有一个可选子句来指定列字符集和校对规则:
col_name {CHAR | VARCHAR | TEXT} (col_length)
    [CHARACTER SET charset_name [COLLATE collation_name]]

例如:

CREATE TABLE Table1

(

    column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci

);

MySQL按照下面的方式选择列字符集和校对规则:

·         如果指定了CHARACTER SET XCOLLATE Y,那么采用CHARACTER SET XCOLLATE Y

·         如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET XCHARACTER SET X的默认校对规则。

·         否则,采用表字符集和服务器校对规则。

CHARACTER SETCOLLATE子句是标准的SQL