mysql 如何解决字段不区分大小写的问题

mysql 如何解决字段不区分大小写的问题mysql 如何解决字段不区分大小写的问题

大家好,又见面了,我是你们的朋友全栈君。

1、mysql默认情况下是否区分大小写,使用show Variables like ‘%table_names’查看lower_case_table_names的值;

show Variables like ‘%lower_case_table_names’
0代表区分,1代表不区分。

2,LINUX下的MYSQL默认是要区分表名大小写的 ,而在windows下表名不区分大小写

(1). 用ROOT登录,修改/etc/my.cnf

(2) 在[mysqld]下加入一行:lower_case_table_names=1

3.通过查询资料发现需要设置collate(校对) 。

collate规则:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写

设置字符集:
utf8_general_ci –不区分大小写

utf8_bin–区分大小写

6,可以通过binary关键字,方法有两种:
  1. 可以将查询条件用binary()括起来。 比如:

    select * from Table where binary column =‘aaa’;

  2. 可以修改该字段的collation 为 binary
    比如:

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(100) BINARY CHARACTER 
SET utf8 COLLATE utf8_bin DEFAULT NULL;

3,在建表时加以标识:

create table `usertable`( 
 `id` varchar(32) binary, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
CREATE TABLE `usertable` ( 
 `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

原理:
对于CHAR、VARCHAR和TEXT类型,BINARY属性可以为列分配该列字符集的 校对规则。
BINARY属性是指定列字符集的二元 校对规则的简写。
排序和比较基于数值字符值。因此也就自然区分了大小写。
以上通过两种方案解决了MySql查询不区分大小写的问题,希望对大家有所帮助,更多有mysql数据查询问题,请登录本站学习。

原文链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105865.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • App的宣传方式?

    ##1.线上渠道各大下载市场、应用商店、大平台、下载站的覆盖,线上推广的第一步是要上线,这是最基础的。无需砸钱,只需最大范围的覆盖,具体有:运营商渠道推广、第三方商店、手机厂商商店、积分墙推广、刷榜推广、社交平台推广、广告平台、换量推广等等很多方式。##2.线下推广主要是手机厂商预装、水货刷机、行货店面刷机、地推、线下活动推广等。##3.是线上宣传PR传播、事件营

    2022年4月5日
    42
  • 深入理解MySQL索引原理和实现——为什么索引可以加速查询?

    深入理解MySQL索引原理和实现——为什么索引可以加速查询?说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。”但是索引是怎么实现的呢?因为索引并不是关系模型的组成部分,因此不同的DBMS有不同的实现,我们针对MySQL数据库的实现进…

    2022年6月24日
    41
  • jQuery页面滚动右侧浮动导航切换

    体验效果:http://hovertree.com/texiao/jquery/49/效果图:代码如下:转自:http://hovertree.com/h/bjaf/2slij8q4.htm参

    2021年12月22日
    47
  • 菜地公告:元宵节《菜农新唐M0技术交流群》有条件散群预告

    菜地公告:元宵节《菜农新唐M0技术交流群》有条件散群预告菜地公告:菜农助学园地500人支柱群菜农新唐M0技术交流群:12047788长期致力于纯技术交流,与菜农助学群校:134915667一同奉行“饮水思源”之精神。菜农为了网友的合法权宜得到公正的待遇,特此做出如下沉痛之决议:在元宵节晚上8:25以前,若链接:http://bbs.ednchina.com/BLOG_ARTICLE_3001363.HTM中的“发表评论”少于

    2022年5月19日
    31
  • JS闭包理解_闭包的定义

    JS闭包理解_闭包的定义一、变量作用域   全局变量   局部变量函数内部可以直接读取全局变量,函数外部无法读取函数内部的局部变量二、从函数外部读取局部变量解决方法:在函数内部在定义一个函数functionf1(){   varn=1;   functionf2(){       alert(n);   }}在上诉代码中,函数f2被包括在函数f1内部,这…

    2025年7月26日
    3
  • kafka删除topic 被标记为删除_kafka支持多少个topic

    kafka删除topic 被标记为删除_kafka支持多少个topic kafka删除topic时的隐患 生产上kafka集群长时间使用会导致topic容器下已被消费的消息过多,进而导致在重新选主时切换时间长的问题。追根到底来讲切换Leader时间都花费在zookeeper文件同步上,但是kafka恰恰没有清理已被消费消息的机制,故导致死尸消息每次在节点重启或者切主都会时间很常,而zookeeper提供了java…

    2022年10月10日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号