字节流的博客

MySQL 字符集及校对规则

1. 字符集

字符集是定义了MySQL存储字符串的方式。

2. 校对规则

校对规则定义了比较字符串的方式。

  • 命名约定:语言名+_ci(大小写不敏感)|_cs(大小写敏感)|_bin(二元,即比较基于字符编码的值而与Language无关)
  • 字符集合校对规则分为库、表和字段三个级别;
  • 对于实际应用来说,还包括:charactar_set_client、charactar_set_connection和charactar_set_results,通常这三个设置是一致的,保证数据的写入和存储的一致性,所以可以采用 set names * 来同意设置这三个配置;
  • 字符集的修改:
    • 修改没有记录的表的字符集:
      alter table table_name default charactar=utf8; 或者 alter table table_name charactar set utf8;
    • 已存在记录的表的字符集修改:
      • 导出表结构;
      • 修改表(.sql 文件)默认字符集;
      • 按原字符集导出数据;
      • 导入表结构;
      • 导入数据;
Thanks! 😊