登录数据 mysql -uroot -p123456 -default-character-set=utf8 (使用utf8编码登录mysql)
mysql的collation大致的意思就是字符序。首先字符本来是不分大小的,那么对字符的>, = , < 操作就需要有个字符序的规则。collation做的就是这个事情,你可以对表进行字符序的设置,也可以单独对某个字段进行字符序的设置。一个字符类型,它的字符序有多个,比如:
utf8 的字符序:
select * from collations;
utf8编码默认的字符序是 utf8_general_ci
mysql的字符序遵从命名惯例。以_ci(表示大小写不敏感),以_cs(表示大小写敏感),以_bin(表示用编码值进行比较)。比如:
use test;
CREATE TABLE `tab_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`info` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO tab_info SET info='Hello';
INSERT INTO tab_info SET info='hello';
SELECT * FROM tab_info WHERE info='hello';
alter table tab_info convert to character set utf8 collate utf8_bin;