Mysql在查询时不区分大小写

今天我在写查询条件时候,发现条件输入 

select * FROM app_table_column_def WHERE table_name ='cs_Table'; 

查出的结果有点意外,大小写的都查出来了,如下

 

后来了解得知,MySQL 查询默认是不区分大小写的,如果需要区分大小写,就要在查询条件前加binary:

添加binary后,再写查询 select * FROM app_table_column_def WHERE binary table_name ='cs_table' ,

得到如下结果:

 

 

 原理:mysql对于插入,varchar和text类型,binary属性可以为列分配该字符集的校对规则,binary属性是指定列字符集的二元校对规则的简写,排序和比较基于数值字符值,因此也就自然区分了大小写

因此,另外一种方法是在建表的时候加上标识binary

careate  table  cs_table(

  table_name  varchar(20) binary not null comment '表名',

  ... ...

)

 

posted @   凉了记忆  阅读(1893)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示