贝利信息

什么是排序规则_mysql排序规则说明

日期:2025-12-26 00:00 / 作者:P粉602998670
排序规则(Collation)是MySQL中定义字符比较和排序的规则,依附于字符集存在,控制大小写、重音敏感性及二进制比较行为,影响ORDER BY、WHERE、GROUP BY等操作,并可在服务器、数据库、表、列等层级设置与查看。

排序规则(Collation)是 MySQL 中用来定义字符如何比较和排序的一套规则,它依附于字符集存在,不单独生效。简单说:字符集决定“能存什么字”,排序规则决定“这些字怎么比、怎么排”。

排序规则的核心行为

它主要控制三类判断逻辑:

常见排序规则命名解读

utf8mb4_0900_ai_ci 为例:

对比 utf8mb4_bin:同样用 utf8mb4 字符集,但所有字符都按二进制逐字节比对,Aa 一定不等,ñn 也绝不等同。

排序规则在哪起作用

它影响所有涉及字符比较或排序的操作,包括:

如何查看和设置排序规则

可查层级包括服务器、数据库、表、列、甚至单个字符串常量:

注意:下层(如列)会继承上层(如库)的默认规则,但可显式覆盖;不同 collation 混用可能触发隐式转换,影响性能和结果准确性。