mysqlmysql创建数据库,基字符集 和 数据库排序规则 的对比选择

Posted Angel挤一挤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqlmysql创建数据库,基字符集 和 数据库排序规则 的对比选择相关的知识,希望对你有一定的参考价值。

1.一般选择utf8.下面介绍一下utf8与utfmb4的区别。

utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到https://www.cnblogs.com/sxdcgaq8080/p/9932786.html看unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则会浪费空间。

2.排序说明

排序一般分为两种:utf_bin和utf_general_ci

bin 是二进制, a 和 A 会别区别对待.

例如你运行:

select * from table where a = \'a\';

那么在utf8_bin中你就找不到 a = \'A\' 的那一行, 而 utf8_general_ci 则可以.

utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。

utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果

utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

 

utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。

utf8_general_ci校对速度快,但准确度稍差。(准确度够用,一般建库选择这个)

utf8_unicode_ci准确度高,但校对速度稍慢。

所以一般选择如下:

 

以上是关于mysqlmysql创建数据库,基字符集 和 数据库排序规则 的对比选择的主要内容,如果未能解决你的问题,请参考以下文章

Mysqlmysql数据库练习一从创建数据库表到对数据的增删改查

MySQLMySQL的索引

数据库

MySQLMySQL 8 的 JSON 新特性详解JSON 数据类型

mysql小结

MySQLMySQL基础操作(上)