MySQL查询不区分大小写问题
现象
在使用MySQL字符串查询的时候遇到这么一个问题,查询没有区分大小写,如下图所示
查询name的时候,使用A去查询或者使用a去查询,结果是一样的。
限定讨论范围
- 仅讨论表的创建;
- 仅讨论表中列值的大小写查询问题;
- 仅讨论字符集编码utf8,排序规则utf8_general_ci,utf8_bin;
原因
MySQL字符集与排序规则
首先要说到MySQL的字符集与排序规则,在创建一张表时,可以指定表的字符集与排序规则,也可以指定列的字符集排序规则。(本文不讨论数据库各个级别配置对列的字符集和排序规则的影响)。影响查询结果的是该列的排序规则,如上文中中展示的查询结果,name字段设置的排序规则就是utf8_general_ci。如果通过命令修改name列的排序规则为utf8_bin,则查询时候能够区分大小写,如下图所示。
在确定了字符集后,影响查询是否支持大小写的是列的排序规则。
总结
字符集是一套符号和编码,而排序规则则是在字符集内用于比较字符的一套规则。仅针对使用MySQL中utf8的的字符集,将英文字母“A”与“a”编码存入磁盘,所以读取出来的数据是区分大小写的。但是在查询的时候,从磁盘中获取utf8解码后的字符,再通过排序规则来比较,如果使用的是utf8_general_ci,则查询过程中不区分大小写,如果使用的是utf8_bin,则查询过程区分大小写。
MySQL查询不区分大小写问题相关推荐
- mysql select 区分大小写,MySql查询不区分大小写解决方案(两种)
当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感. 解决方案一: 于是怀疑Mysql的问题.做个实验:直接使用客户端用sql查 ...
- MySQL查询不区分大小写
解决MySQLl查询不区分大小写问题 MySQL默认查询是不区分大小写的,可以在查询是使用binary来实现区分大小写的查询操作 binary 区分大小写
- 解决MySQl查询不区分大小写
问题 最近,在用SSH框架完成一个实践项目时,碰到了一个莫名其妙的Bug困扰了我好久,最后终于解决,记录如下. 问题:同学在测试系统的时候突然发现,数据库保存的账户本来应该是admin,结果该同学用A ...
- 使mysql查询条件区分大小写 数据库搜索中大小写敏感性
在默认情况下,mysql搜索不区分大小写(但某些字符集始终区分大小写,如czech).这意味着,如果你使用col_name LIKE 'a%'进行搜索,你将获得以A或a开始的所有列. 如果打算使搜索区 ...
- django查询mysql 区分大小写_Django+MySQL查询不区分大小写问题
最近发现一个现象是测试环境的 sqlite 是可以区分巨细写的. 就是说 Python # sqlite 环境 >>> Company.objects.filter(name='Te ...
- MySQL查询区分大小写
2019独角兽企业重金招聘Python工程师标准>>> 问题描述: 找出用户名id为'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'的用户的数据: select ...
- mysql大小写区分_详解MySQL查询时区分字符串中字母大小写的方法
如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql ...
- mysql 查询两表 两列 比较大小写_mysql 查询表中列的数据不区分大小写的解决
mysql查询默认是不区分大小写的 如: select * from some_table where str='abc'; select * from some_table where str='A ...
- php mysql 查询 区分大小写_MySQL查询字符串时区分大小写
MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中中文编码字符大小写转换造成了这种现象. 方法一: 解 ...
最新文章
- AE 动画直接变原生代码:Airbnb 发布开源动画库 Lottie
- php和python写爬虫-一个简单的Python写的XML爬虫
- python2.7 安装pycrypto库报错
- ifix怎么装服务器系统上,ifix服务器和客户端配置
- mysql什么情况会刷脏页_mysql-刷脏页(12)
- java工程师试卷,Java工程师试卷A
- 千寻的计算机字符,转义字符变量与赋值
- phpcms v9 在当前栏目下获取父栏目与当前栏目的名称与连接
- Struts2学习笔记(六) 结果(Result)(上)
- Bitbake中文手册--1(概述)
- error C1083 错误
- 低多边形,通过PS制作低多边形图形
- BC26 计算三角形的周长和面积(海伦公式)
- 数据分析实战(一百零一):项目分析思路 —— 用户增长实践经验分享
- PTA 钻石真题卷——均是素数
- 两个电脑文件如何同步
- 盘点三种卫星图分幅导出的方法
- Android 让注册商标R往上移
- 软考-嵌入式系统设计师:[多媒体技术:笔记(四)]
- 第四课 FZHOP硬件版上位机教程-曲线图-波峰波谷取值(CP1H版)