collate可以在库级别上,表级别上,列级别上设计;意思就是“排列规则”;通常和charset结合使用;
例如:
建议使用utf8mb4而不是utf8,因为utf8最多支持3字节得长度,但是有些字符是4字节的,这样的话mysql就不支持了;其中得想查看collate支持的类型,可以采用命令:
其中得 _ci 是 code insensitive对大小写不敏感,_cs 是 code sensitive对大小写敏感,你会发现每一种charset对应了好几种得collate. 其中utf8_bin 是将需要排序得字符按照二进制来排序,
utf8_unicode_ci 和 utf8_general_ci 基本没区别;通常我i们采用 utf8_unicode_ci 。