位置: 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为古彝文识别赋能(传承古老文化)

  • 苹果手机图标怎么改变样子(苹果手机图标怎么删除不掉)

    苹果手机图标怎么改变样子(苹果手机图标怎么删除不掉)

  • 华为荣耀v20和mate20对比(华为荣耀v20和magic2)

    华为荣耀v20和mate20对比(华为荣耀v20和magic2)

  • 苹果70%电池容量要换吗(iphone电池容量70)

    苹果70%电池容量要换吗(iphone电池容量70)

  • 虎牙年度票有什么用(虎牙年度是什么意思?)

    虎牙年度票有什么用(虎牙年度是什么意思?)

  • 6sp忽然外放没声音(iphone6s外放没有声音)

    6sp忽然外放没声音(iphone6s外放没有声音)

  • 快手推广保证金是什么意思(快手推广保证金在哪里能看到)

    快手推广保证金是什么意思(快手推广保证金在哪里能看到)

  • 可以慢放视频的软件(可以慢放视频的免费手机软件)

    可以慢放视频的软件(可以慢放视频的免费手机软件)

  • 笔记本键盘失灵怎么办(笔记本键盘失灵的原因)

    笔记本键盘失灵怎么办(笔记本键盘失灵的原因)

  • 普通用户连接internet的方式有(用户接入internet的常用方法)

    普通用户连接internet的方式有(用户接入internet的常用方法)

  • 变频器风扇不转故障怎么处理(变频器风扇不转的原因)

    变频器风扇不转故障怎么处理(变频器风扇不转的原因)

  • 微信定位可以发假位置吗(微信定位可以发到QQ吗)

    微信定位可以发假位置吗(微信定位可以发到QQ吗)

  • 作业帮为什么不能拍整页了(作业帮为什么不能用相册的照片)

    作业帮为什么不能拍整页了(作业帮为什么不能用相册的照片)

  • oppo全屏手机下面三个键怎么设置(oppo全屏手机下面黑影怎么消掉)

    oppo全屏手机下面三个键怎么设置(oppo全屏手机下面黑影怎么消掉)

  • 拉黑后听对方歌对方知道吗(拉黑了还能听到对方彩铃吗)

    拉黑后听对方歌对方知道吗(拉黑了还能听到对方彩铃吗)

  • 手机上找不到路由器的wifi了是怎么回事(手机找不到路由器wifi名称)

    手机上找不到路由器的wifi了是怎么回事(手机找不到路由器wifi名称)

  • hdmi2.0和2.1的区别(hdmi2.1和2.0通用吗)

    hdmi2.0和2.1的区别(hdmi2.1和2.0通用吗)

  • ps怎么退出全屏模式(ps怎么退出全屏弄出任务栏)

    ps怎么退出全屏模式(ps怎么退出全屏弄出任务栏)

  • qq置顶说说怎么设置(qq置顶说说怎么没了)

    qq置顶说说怎么设置(qq置顶说说怎么没了)

  • 拼多多拒收要不要运费(拼多多拒收了)

    拼多多拒收要不要运费(拼多多拒收了)

  • 三星smg9650是什么版本

    三星smg9650是什么版本

  • 腾讯视频怎么截取视频片段(腾讯视频怎么截屏图片)

    腾讯视频怎么截取视频片段(腾讯视频怎么截屏图片)

  • 怎样下载电影到桌面(怎样下载电影到移动硬盘)

    怎样下载电影到桌面(怎样下载电影到移动硬盘)

  • vivoz3i支持nfc吗(vivoz3i支持nfc功能吗)

    vivoz3i支持nfc吗(vivoz3i支持nfc功能吗)

  • 怎样看微博上线记录(怎样看微博上线时间记录)

    怎样看微博上线记录(怎样看微博上线时间记录)

  • 公司电脑监控都能监控什么(公司电脑监控都看什么)

    公司电脑监控都能监控什么(公司电脑监控都看什么)

  • 电脑键盘字母错乱(电脑键盘字母错乱什么键恢复正常)

    电脑键盘字母错乱(电脑键盘字母错乱什么键恢复正常)

  • 固定资产折旧方法年数总和法
  • 收到增值税发票是不是就给钱了
  • 利润表主营业务成本怎么算
  • 公司有流水不申报会怎么样
  • 没有进项发票出口转内销
  • 销售免税产品要计算销项税吗
  • 其他业务利润包括哪些科目
  • 增值税16点税降到13点,补缴税款怎么算
  • 个人资金借给企业
  • 房租怎么抵扣个税计算方法
  • 社保扣除的是当月还是上个月的
  • 公司车辆出售给个人怎么做账
  • 实收资本的账务处理题目
  • 未交税金期末数
  • 公司每年都要纳税吗?
  • 增资印花税增加哪个税目
  • 版权使用费属于什么税目
  • 销售商品收到商业汇票属于什么科目
  • 为什么利息收入是负数
  • 筹建期间的开办费包括哪些
  • 合同取得成本和增量成本有什么区别
  • mac菜单栏设置在哪里
  • 手机网速测试怎么看多少兆网
  • 出纳有哪些清点项目
  • 在windows7的
  • 现在windows11
  • linux系统应对攻击的常用防御手段的描述
  • linux网卡lo
  • 生产企业出口退税计算
  • 企业为员工提供服务要交增值税吗
  • win7安装高版本chrome
  • 居民企业境外所得税抵免限额
  • nullable object must have a value
  • 网站国际化方案
  • 委托代建的法律规定
  • 产品工人工资属于制造费用吗
  • vue vif
  • acc字幕文件怎么转换srt字幕
  • html六边形的盒子怎么做
  • python 微信红包
  • 出口退税税率差
  • 待抵扣进项税额的账务处理
  • 应交增值税的账务处理有哪两种
  • 个税app重置申报
  • 公司租个人房屋交什么税
  • 税务机关代开的增值税发票要加盖发票专用章吗?
  • 长期股权投资大白话解释
  • 前期费用怎么计算
  • 新销售收入的确认条件
  • 固定资产的期末余额反映固定资产原值的结余额
  • 长期待摊费用装修费分摊分录
  • 质量赔款能冲减收入么
  • 一般纳税人10万元以下附加税
  • 管家婆记账可以都有凭证做吗?
  • 不得从销项税额中抵扣进项税的有哪些
  • 发票开预付卡充值可以计入费用吗?
  • 关联公司往来款怎么做账
  • 塔吊租赁费用是否包括司机指挥
  • sql参数化是什么意思
  • kms激活的弊端
  • win8怎么运行
  • Ubuntu 12.04/14.04 LTS版内核更新 修复七个重大安全漏洞
  • linux搭建gitlab
  • windows防火墙无法更改某些设置错误代码0×80070422
  • 防止非法使用计算机,可口令
  • win10安装vc++6.0
  • win8.1连不上wifi
  • 游戏新手引导架构
  • js数组常用的方法及用法
  • css选择器教程
  • shell脚本编写简单计算器
  • unity2018.4破解
  • javascript面向对象 第三方类库
  • js实现复制文本
  • jquery图片上传
  • 税务人员廉洁自律承诺书
  • 卷票真伪查询系统国税
  • 房地产开发企业会计制度
  • 国税补录信息怎么查询
  • 农民工12000要交多少个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设