mysql顺序排序(Mysql 中文排序规则说明)
mysql顺序排序
Mysql 中文排序规则说明使用MySQL过程中,我们经常会对一个字段进行排序查询,我们一般都是想要按照中文拼音首字母进行依次排序,但mysql中进行中文排序的时候,对汉字的排序结果往往都是错误的。
这种情况在MySQL的很多版本中都存在。
如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
查了资料有两种解决方法:
1.对于包含中文的字段加上”binary”属性,使之作为二进制比较,例如将”name varchar(10)”改成”name varchar(10)binary”。
2. 如果不想对表结构进行修改或者重新编译MySQL,也可以在查询语句的 order by 部分使用 CONVERT 函数。
比如 name字段为中文,需要按其排序,则可以写select * from mytable order by CONVERT(name USING gbk);
补充:mysql数据库默认排序问题
1、mysql官方回答:
SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.
大致意思为,一个myisam引擎表在没有任何的删除,修改操作下,执行 select 不带order by,那么会按照插入顺序进行排序。
If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.
对于innodb引擎表来说,在相同的情况下,select 不带order by,会根据主键来排序,从小到大
2、查看数据库引擎命令:
(1)查看某个表使用的引擎
|
show create table ; |
(2)查看mysql支持哪些引擎
|
show engines; |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_42043982/article/details/84953665
- mysql流式查询(MySQL全面瓦解之查询的正则匹配详解)
- mysql sql优化方法(MySQL SQL优化教程之in和range查询)
- mysql数据库调优技术大全(Mysql数据库性能优化三分表、增量备份、还原)
- mysqljson字段查询(Mysql 查询JSON结果的相关函数汇总)
- mysql架构示意图(MySQL创建横向直方图的解决方案)
- mysql游标的使用(MySQL 游标的作用与使用相关)
- mysql程序中判断select返回空值(解决MySQL读写分离导致insert后select不到数据的问题)
- 查询mysql 死锁(MySQL线上死锁分析实战)
- mysql读写分离同步策略(Mysql主从复制与读写分离图文详解)
- mysql的默认数据库例子在哪里(修改MySQL8.0 默认的数据目录快捷操作无配置)
- mysql主从复制时突然来了一批数据(MySQL主从复制断开的常用修复方法)
- mysql5.7.36详细安装(CenOS6.7下mysql 8.0.22 安装配置方法图文教程)
- mysql常用的sql语句大全(mysql建表常用的sql语句汇总)
- mysql索引的比较规则(MySQL的Flush-List和脏页的落盘机制)
- mysql的常见优化(详解GaussDB for MySQL性能优化)
- mysql出现的问题及解决方法(mysql升级到5.7时,wordpress导数据报错1067的问题)
- 乔欣 古装剧中的高颜值(古装剧中的高颜值)
- 怎么才可以财富自由(如何让自己实现财富自由)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
热门推荐
- Laravel 中创建 Zip 压缩文件并提供下载的实现方法(Laravel 中创建 Zip 压缩文件并提供下载的实现方法)
- mysql数据库死锁原理(MySQL数据库锁机制原理解析)
- docker启动nginx容器命令(Docker安装Nginx教程实现图例讲解)
- 租用云服务器注意事项(怎么租用到性能过硬的美国云服务器)
- 阿里云服务器应该买哪个(阿里云服务器购买时面对众多地域,该如何选择)
- laravel 后台管理框架(laravel-admin 管理平台获取当前登陆用户信息的例子)
- 云服务器linux图形化(linux云服务器如何扩容?)
- mongodb insert操作
- php如何调用类(php创建类并调用的实例方法)
- 使用RouteDebugger对MVC路由进行调试
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9