10-表字符集和校对规则
表的字符集和校对规则在创建表的时候指定,可以通过 alter table命令进行修改,同样,如果表中已有记录,修改字符集对原有的记录并没有影响,不会按照新的字符集进行存放。表的字段仍然使用原来的字符集。
设置表的字符集的规则和上面基本类似:
如果指定了字符集和校对规则,使用指定的字符集和校对规则;
如果指定了字符集没有指定校对规则,使用指定字符集的默认校对规则;
如果指定了校对规则但未指定字符集,则字符集使用与该校对规则关联的字符集;
如果没有指定字符集和校对规则,使用数据库字符集和校对规则作为表的字符集和校对规则。
推荐在创建表的时候明确指定字符集和校对规则,以避免受到默认值的影响。要显示表的字符集和校对规则,可以使用 show create table命令查看:
mysql> show create table z1 \G;
1. row
Table: z1
Create Table: CREATE TABLE 'z1' (
'id' int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
1 row in set (0.00 sec)