在mysql中设置表字段中COLLATE、CHARSET详解
在MySQL中设置字符集和排序规则的参数:COLLATE和CHARSET。
CHARSET :
用于设置字符集,字符集是用于编码字符的规则集。
常用的字符集包括utf8和utf8mb4,分别用于编码普通的文本和包含Emoji等特殊字符的文本。
COLLATE :
用于设置排序规则,排序规则是用于比较和排序字符的规则集。
常用的排序规则包括utf8_general_ci 和 utf8mb4_unicode_ci,分别用于不区分大小写的比较和区分大小写的比较。
例如:
在创建表时,可以使用 CHARSET=utf8mb4和COLLATE=utf8mb4_unicode_ci 参数,
来设置表的字符集为 utf8mb4,排序规则为区分大小写的比较。
示例代码:
CREATE TABLE table_name (
column1 VARCHAR(255) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci );
在上面的代码中,列 column1 的字符集设置为 utf8mb4,排序规则设置为区分大小写的比较。
需要注意,在 MySQL 中,字符集和排序规则是分开设置的,所以需要同时指定字符集和排序规则才能正确处理字符。
常见的排序规则(COLLATE):
utf8_general_ci:
不区分大小写的比较
utf8_unicode_ci:
区分大小写的比较
utf8mb4_general_ci:
不区分大小写的比较,支持 Emoji 等特殊字符
utf8mb4_unicode_ci:
区分大小写的比较,支持 Emoji 等特殊字符
在MySQL中,排序规则是与字符集一起设置的,
所以在使用排序规则时需要同时指定字符集。
相关文章