位置: IT常识 - 正文

MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8mb4(mysql的排序规则)

编辑:rootadmin
MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8mb4

推荐整理分享MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8mb4(mysql的排序规则),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql排序规则选什么,mysql排序规则是什么,mysql 排序字段,mysql如何进行数据的排序,mysql数据库排序,mysql的排序函数,mysql排序规则选什么,mysql 排序算法,内容如对您有帮助,希望把文章链接给更多的朋友!

在创建数据库时,我们经常会需要填写数据库名、字符集、排序规则; 而本文主要讲述常用的存储字符集 utf8 和 utf8mb4;排序字符集 utf8mb4_unicode_ci 和 utf8mb4_general_ci、utf8mb4_bin、utf8mb4_0900_ai_ci

一般我本人创建创建数据库通常排序规则都使用utf8mb4_general_ci,因为对特殊字符的顺序并不需要那么精确

1、存储字符集 utf8 和 utf8mb4utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持。我觉得,为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8. 对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 Mysql 官方建议,使用 VARCHAR 替代 CHAR。

总结: UTF-8是使用1~4个字节,一种变长的编码格式,字符编码。mb4即 most bytes 4,使用4个字节来表示完整的UTF-8。

mysql的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。

MySQL的utf8是utfmb3,只有三个字节,节省空间但不能表达全部的UTF-8。所以推荐使用utf8mb4(是utf8的超集并完全兼容它,能够用四个字节存储更多的字符,这几乎包含了世界上所有能看到见的语言。)。

MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin、utf8mb4_0900_ai_ci和存储字符集 utf8 和 utf8mb4(mysql的排序规则)

2、排序字符集 utf8mb4_unicode_ci 和 utf8mb4_general_ci、utf8mb4_bin、utf8mb4_0900_ai_ci

MySQL常用排序规则utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_bin ci即case insensitive,不区分大小写。 utf8mb4_unicode_ci: 是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。 utf8mb4_general_ci: 是一个遗留的 校对规则,不支持扩展,它仅能够在字符之间进行逐个比较。utf8_general_ci校对规则进行的比较速度很快,但是与使用 utf8mb4_unicode_ci的校对规则相比,比较正确性较差。 utf8mb4_bin: 将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内容。 utf8mb4_0900_ai_ci: MySQL 8.0 默认的是 utf8mb4_0900_ai_ci,属于 utf8mb4_unicode_ci 中的一种,具体含义如下: uft8mb4 表示用 UTF-8 编码方案,每个字符最多占 4 个字节。 0900 指的是 Unicode 校对算法版本。(Unicode 归类算法是用于比较符合 Unicode 标准要求的两个 Unicode 字符串的方法)。 ai 指的是口音不敏感。也就是说,排序时 e,è,é,ê 和 ë 之间没有区别。 ci 表示不区分大小写。也就是说,排序时 p 和 P 之间没有区别。 utf8mb4 已成为默认字符集,在 MySQL 8.0.1 及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。以前,utf8mb4_general_ci 是默认排序规则。由于 utf8mb4_0900_ai_ci 排序规则现在是默认排序规则,因此默认情况下新表格可以存储基本多语言平面之外的字符。现在可以默认存储表情符号。如果需要重音灵敏度和区分大小写,则可以使用 utf8mb4_0900_as_cs 代替。

2.1、经常使用的 utf8mb4_unicode_ci 和 utf8mb4_general_ci 的区别

1、准确性

utf8mb4_unicode_ci 是基于标准的 Unicode 来排序和比较,能够在各种语言之间精确排序

utf8mb4_general_ci 没有实现 Unicode 排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。

但是绝大多数情况下,这些特殊字符的顺序并不需要那么精确。

2、性能

utf8mb4_general_ci 在比较和排序的时候更快

utf8mb4_unicode_ci 在特殊情况下,Unicode 排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。

但是在绝大多数情况下,不会发生此类复杂比较。相比选择哪一种 collation,使用者更应该关心字符集与排序规则在 db 里需要统一。

推荐用 utf8mb4_unicode_ci,但是用 utf8mb4_general_ci 也没啥问题.

本文链接地址:https://www.jiuchutong.com/zhishi/299941.html 转载请保留说明!

上一篇:谁能真正替代你?AI辅助编码工具深度对比(chatGPT/Copilot/Cursor/New Bing)(谁能代替你啊)

下一篇:焕新古文化传承之路,AI为古彝文识别赋能(传承古老文化)

  • 股东个人房产转入公司契税
  • 未取得发票的费用,在汇算清缴中按利润计算吗
  • 上缴非税收入前是否要交税
  • 小规模纳税人开票税率
  • 企业所得税如何抵扣
  • 买烟草可以开发票吗
  • 办公费专票怎么做账
  • 预借差旅费附什么原始凭证
  • 公司滴滴发票是什么意思
  • 做实验用的东西哪里可以买到
  • 合并会计报表中的未分配利润反应的是什么
  • 工业企业生产成本包括哪些
  • 利润是负数不用计提所得税规定是什么?
  • 个人安装设备属于劳务吗
  • 如何界定广告
  • 降温费和取暖费标准
  • 外商企业需要交企业所得税吗
  • 增值税专票怎么认证
  • 商品流通企业代表企业
  • 个税系统怎么查个人申报数据明细
  • 疫情期间企业应该承担哪些责任
  • 个人缴纳公积金有什么好处
  • 评估增值的账务处理
  • 设计费和勘察费的会计科目
  • 如何自己打造一台高赛摩托车
  • PHP:Memcached::isPristine()的用法_Memcached类
  • 视同销售成本如何确认?
  • 备抵法是什么科目
  • 帝国cms标签调用大全
  • 酒店装修费用如何抵扣税
  • KITTI数据集可视化(二):点云多种视图与标注展示的可视化代码解析
  • 在大运河上举办什么活动
  • 自然保护什么意思
  • 税控盘干嘛用
  • 软件是无形的,可见的物理实体
  • docker的常用命令汇总
  • 个人向公司借款协议书范本
  • 印花税减免退回会计分录
  • 损益表填制
  • 建筑业成本核算流程
  • 计提加计抵减额在财务报表里哪里体现
  • 如何确定固定资产是否已经发生减值
  • 预付开发票加油后还能开吗?
  • sql server数据库连接端口1434
  • 长期股权投资成本法转权益法的处理
  • 一般纳税人账务不健全是否处罚
  • 残保金申报方式改变时间
  • 收到退回的以前的快递
  • 农业种植账务处理方法
  • 先付款后开票如何入账
  • 公司向外借款给个人怎么做账
  • 自产的产品用于生产缴纳增值税
  • 企业注销递延所得税资产怎么处理
  • 业务招待费进项票可以抵扣吗
  • 固定资金管理内容包括哪些
  • 上月有留抵税额本月怎么申报
  • 收到保险公司赔款
  • 合并编制报表主要有哪几种
  • 独立法人资格是独立核算
  • 固定资产折旧怎么算
  • 旅游业餐饮业
  • 账务处理程序和财务处理程序
  • Windows10下MySQL5.7.19安装教程 MySQL忘记root密码修改方法
  • mysqlusing
  • win8.1系统安装教程
  • 有效减少win8关机时间的方法分享
  • 如何解决win10系统安装不兼容驱动的问题
  • 软件源推荐
  • wfxctl32.exe - wfxctl32是什么进程
  • deepin直接安装
  • 慎用小儿百部止咳糖浆
  • 网页css加载失败
  • 网页中英文切换
  • unity字符串
  • unity3d快捷键
  • 把下一行的数字去掉
  • 国家税务定额发票票样
  • 税务暂停办理业务通知
  • 湖南省地方税务局综合楼项目设计
  • 主管单位申请书
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设