SQL中的Collation
描述了如何对查询出来的数据进行比较和排序,本质是定义了两个cell的数据进行比较的时候的compare算法。
特别说明几个SQL Collation常见词汇:
ci: case ignore/insensitive,比较的时候不区分大小写
mb4: multi-bytes-4,4字节字符集
utf8mb4_unicode_ci: utf8mb4表示编码规则为支持4个字节字符的utf8,unicode表示采用UNICODE编码(UNICODE编码将几乎地球上所有字符都赋予一个数字编号)。
utf8mb4_unicode_ci又是几个意思呢?它跟utf8mb4_generic_ci有啥区别?
按理说出现了utf8的地方,就没必要再出现unicode了,因为utf8肯定是用于表示unicode的。所以,不用纠结了,上面俩东西,就是人造出来的,用来表示某种区别(编程做变量命名的人肯定有这种经验,单词只是用来表示某种意思的,并不一定精确)。区别是啥呢?generic就是用古板的unicode数字比较,性能高。unicode方式,能处理一些“变体”的比较,例如,在德语和一些其它语言中‘ß’等于‘ss’