您的位置:宽带测速网 > mysql教程 > 怎么使用mysql的collation与Character set

怎么使用mysql的collation与Character set

2025-06-22 17:05来源:互联网 [ ]

collation与Character set

mysql的collation大致的意思就是字符序。首先字符本来是不分大小的,那么对字符的>, = , < 操作就需要有个字符序的规则。collation做的就是这个事情,你可以对表进行字符序的设置,也可以单独对某个字段进行字符序的设置。

mysql的字符序遵从命名惯例。以_ci(表示大小写不敏感),以_cs(表示大小写敏感),以_bin(表示用编码值进行比较)。(ci 是 caseinsensitive 的缩写, cs 是 case sensitive 的缩写)。

collation 名字的规则可以归纳为这两类:

1. <characterset>_<language/other>_<ci/cs>

2. <character set>_bin

查询character set 与 collation的对应关系:

mysql> show collation;

1.当表的 character set 是 latin1 时,若字段类型为 nvarchar, 则字段的字符集自动变为 utf8。可见 database character set, table character set, field character set 可逐级覆盖。

2.在 ci 的 collation 下,如何在比对时区分大小写

方法一:

mysql> select * from pet where binaryname = 'Histler';

方法二

mysql> select * from pet where name =binary 'Histler';

推荐使用方法二,这样可以保证当前字段的索引依然有效,而方法一会使索引失效。