Mysql 创建数据库字符集与排序规则

一、utf8utf8mb4 区别

  • 新版本数据库默认编码格式是 utf8mb4utf8mb4 比 utf8 多了 emoji 编码支持,建议普通表使用 utf8 如果这个表需要支持 emoji 就使用 utf8mb4,也可以全部用 utf8mb4utf8mb4 完全向下兼容 utf8

二、字符集和排序规则

  • 字符集

    当数据库需要适应不同的语言就需要有不同的字符集,如果不指定字符集的话,那么就会使用数据库的默认的字符集,每种字符集都有自己默认的排序规则。

    mysql 默认字符集为 utf8 时,默认排序规则为 utf8_general_ci

    mysql 默认字符集为 utf8mb4 时,默认排序规则为 utf8mb4_general_ci

  • 排序规则

    每一种字符集都会有自己的排序规则(collation),排序规则后缀一般分为 csci:

    cs: case sensitive 翻译过来就是对大小写敏感

    ci: case insensitive 翻译过来就是对大小写不敏感

    举例:

    select * from test where column1 like "A%";
    

    如果选择 cs,这时就会选择 A开头的。

    如果选择 ci,这时就会选择 aA 开头的

    在不确定大小写的情况,通常选择 ci,要求不敏感,可以选择的范围多一点。

猜你喜欢

转载自blog.csdn.net/zz00008888/article/details/128459579