mysql中默认排序教程(基于mysql 默认排序规则的坑)
mysql中默认排序教程
基于mysql 默认排序规则的坑mysql默认varchar类型是对大小写不敏感(不区分),如果想要mysql区分大小写需要设置排序规则:
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。
用utf8_genera_ci没有区分大小写,导致这个字段的内容区分大小写时出问题,比如作为区分大小写的code或者验证码时就出问题了。
utf8_general_cs这个选项一般没有,所以只能用utf8_bin区分大小写。
1)设置排序规则是可逆的,如果之前设置的排序规则不符合,更换排序规则后,可能出现乱码,当再次恢复原来的排序规则后,乱码即消失。
2)可以将varchar 类型改为 varbinary
3)如果已经使用了默认的排序规则,即utf8_genera_ci,而又想查询结果大小写区分,可以在查询时进行限定:
|
select binary column from table ; |
或者
|
select column2 from table where binary cloumn; |
补充:mysql中的字符集和排序规则
字符集:
字符是各种文字和符号的总称,字符集就是字符的集合。常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。
计算机要识别各种字符集文字,就需要字符编码。所以有些字符集一个字符是2个字节,有些字符集一个字符是3个字节。
排序规则:举例
utf_bin和utf_general_ci这两者到底有什么区别。
ci是case insensitive, 即"大小写不敏感",a 和 A 会在字符判断中会被当做一样的;
bin是二进制, a 和A 会别区别对待.
utf8_general_ci不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs区分大小写,如果用户名和邮箱用这个 就会照成不良后果
utf8_bin:字符串每个字符串用二进制数据编译存储。区分大小写,而且可以存二进制的内容
所以排序规则主要说明了是否大小写敏感和存储方式。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_33045443/article/details/88670154
- phpstudy的mysql无法启动(Windows系统下解决PhPStudy MySQL启动失败问题)
- mysql基本查询方法(MySQL 重写查询语句的三种策略)
- MySQL 使用事件(Events)完成计划任务(MySQL 使用事件Events完成计划任务)
- mysql数据库基本使用方法(详解MySQL 数据库范式)
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- mysql的binlog几种模式(MySQL系列之redo log、undo log和binlog详解)
- mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)
- mysqltext与varchar区别(MySQL CHAR和VARCHAR该如何选择)
- mysql架构示意图(MySQL创建横向直方图的解决方案)
- mysql插入数据错误代码(教你解决往mysql数据库中存入汉字报错的方法)
- 常见的mysql优化策略(MySQL pt-slave-restart工具的使用简介)
- mysql自定义函数怎么设置(MySQL自定义变量?学不废不收费~)
- docker部署mysql多实例(Docker部署mysql一主一从的操作方法)
- mysql索引原理和优化(Mysql 索引该如何设计与优化)
- mysql设置updatetime自动更新(mysql 实现添加时间自动添加更新时间自动更新操作)
- mysql自定义安装教程5.7(MySQL系列-源码编译安装v5.7.34)
- 三部冷门谍战剧,第一部2014年拍摄,至今还未播出(三部冷门谍战剧)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
- 少儿口才表达影响未来一生,50首经典绕口令和孩子玩出聪明大脑(少儿口才表达影响未来一生)
- 玩网游居然让人更友善 很难以让人置信(玩网游居然让人更友善)
- 学好汉语拼音,从娃娃绕口令抓起,平时还是要多练 收藏好(从娃娃绕口令抓起)
- 仙女们的私藏鲜法大PK 鲜香切块牛肉(仙女们的私藏鲜法大PK)
热门推荐
- iisweb服务器的启动与配置(win7 iis配置怎么配置 Win7配置IIS服务器图文教程)
- python怎么实现链表(Python实现数据结构线性链表单链表算法示例)
- mysqlexplain的用法(MySQL SHOW STATUS语句的使用)
- docker 运行容器命令详细参数详解(Docker Hub运行原理及实现过程解析)
- nginx https 域名配置(阿里云Nginx配置https实现域名访问项目图文教程)
- tensorflow做识别分类(使用TensorFlow实现二分类的方法示例)
- ASP.NET身份验证方式
- python详细讲解类方法的使用(浅谈python标准库--functools.partial)
- python udp网络编程(python实现一个简单的udp通信的示例代码)
- druid数据库连接池原理详解(阿里巴巴Druid,轻松实现MySQL数据库加密!)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9