字符集: 定义了MySQL
中数据在硬盘上的存储方式。例如 utfmb3、utfmb4
等。每个不同的字符集都拥有一个默认的字符排序集。
字符排序集: 定义了在数据库中进行字符串比较和排序的方式。
(1)比较字符串:确定两个字符串是否相等。例如 “abc” 和 “ABC”
(2)排序字符串:确定字符串的排序顺序,例如在 ORDER BY
子句中。
字符排序集的后缀说明:
(1)ci(case insensitive)
:不区分大小写。例如:utf8mb4_general_ci。
(2)cs(case sensitive)
:区分大小写。例如:gb18030_2022_chinese_cs。
(3)bin(binary)
:按二进制值比较字符来区分大小写且区分重音符号。例如:utf8mb4_bin
。
查看MySQL指定数据库字符集和字符排序集的SQL语句:
SELECT
TABLE_NAME,
TABLE_COLLATION,
CCSA.CHARACTER_SET_NAME
FROM
INFORMATION_SCHEMA.TABLES AS T
JOIN INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY AS CCSA
ON T.TABLE_COLLATION = CCSA.COLLATION_NAME
WHERE
T.TABLE_SCHEMA = 'database_name';