mysql 中字段的 collate 和 charset 有什么区别

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在 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 中排序规则是与字符集一起设置的所以在使用排序规则时需要同时指定字符集。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql