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添加数据很慢(mysql如何优化插入记录速度)
- mysql锁机制及原理(MySQL锁阻塞的深入分析)
- mysql死锁情况(MySQL kill不掉线程的原因)
- mysql如何操作日期
- mysql主从同步失败原因(mysql 主从复制如何跳过报错)
- dockermysql配置详解(Docker 部署Mysql 服务和Redis 服务的方法)
- mysql 双主双备(MySQL配置了双主,是如何避免出现数据回环冲突的)
- mysql的连接代码(MySQL 连接查询的原理和应用)
- mysqltext与varchar区别(MySQL CHAR和VARCHAR该如何选择)
- phpmysql网站开发入门与提高(PHP+MySQL+sphinx+scws实现全文检索功能详解)
- mysql8.0如何配超时时间(解决MySQL8.0时区的问题步骤)
- mysql数据库延时监控(Mysql sql慢查询监控脚本代码实例)
- mysql8.0.18.0安装详细教程(mysql 8.0.22 下载安装配置方法图文教程)
- mysql中提取日期的函数是什么(MySQL获得当前日期时间函数示例详解)
- mysqlworkbench怎么设置连接(详解MySQL Workbench使用教程)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
- 怎么做好SEO(怎么做好seo内容优化)
- 冬季钓鱼子线用 长 还是 短(冬季钓鱼子线用)
- 鱼竿 夏钓短,冬钓长 ,一定是这样 认清优缺点在选竿(鱼竿夏钓短冬钓长)
- 鲢鳙钓底还是钓浮 流水的水域应怎样做钓(鲢鳙钓底还是钓浮)
- 入秋后的第二场苹果发布会来了 全新M1系列芯片登场(入秋后的第二场苹果发布会来了)
热门推荐
- pyclips入门(phpinfo的知识点总结)
- vue中的定时函数(vue计时器的实现方法)
- dedecms调用点击数(织梦DEDECMS中显示复制地址,推荐给QQ/MSN上的好友的代码)
- nginx 根据url限流(浅谈Nginx 中的两种限流方式)
- phpstudy创建网站教程(使用phpstudy中域名管理菜单创建本地站点图文)
- linux基础教程磁盘配额的设计(WDCP Linux服务器磁盘爆满的处理方法)
- dedecms模板如何修改日期(DEDECMS网站文章列表页更新点击次数的问题完美解决)
- mysqljoin语句用法(MySQL的join buffer原理)
- dockerpull下来的容器存放位置(详解docker pull下来的镜像存储在哪里)
- $(function(){ }) 与window.onload的区别
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9