首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设置MySQL数据库区分大小写

我们大家可能都碰到过这种情况:在Linux下,MySQL区分大小写,而在Windows下是区分,从Windows下导出的数据脚本中使用的是小写,而Hibernate生成的SQL中表是大写的,所以查不出数据...这个时候怎么办呢,显然改程序是不行的,时间上也不允许,所以只能设置MySQL数据库区分大小写了,大家看以下步骤: 1、查询MySQL是否设置区分大小写 show variables like "%case...其中lower_case_table_names代表了:0是区分大小写; 1是区分大小写。显然我这个MySQL区分大小写的。...更改设置之后的效果: ? 已经区分大小写了: ?...拓展知识 MySQL在Linux下数据库、列名、别名大小写规则是这样的: 1、数据库是严格区分大小写的; 2、的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写

15.8K21
您找到你想要的搜索结果了吗?
是的
没有找到

mysql linux环境下表区分大小写问题

在linux环境下表区分大小写的 问题 执行SHOW VARIABLES LIKE '%lowercasetable_names%' 输出结果: ?...其中 0:区分大小写,1:区分大小写 解决办法 在mysql的配置文件中添加 lowercasetable_names=1 实际解决方式 先查找mysql使用的配置文件 添加配置 重启mysql 查看是否生效...order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf...datadir=/work1/soft/mysql/data socket=/work1/soft/mysql/mysql.sock #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表保存为小写..., 区分大小写 lower_case_table_names=1 # 开启ip绑定 #bind-address = 0.0.0.0 [mysqld_safe] log-error=/var/log/mysqld.log

2.3K20

MySql查询区分大小写解决方案

做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。 通过查询资料发现需要设置collate(校对) 。 ... *_ci: case insensitive collation,区分大小写 一般而言我们设置字符集注意以下两种: utf8_general_ci --区分大小写 utf8_bin--区分大小写...当字符设置区分大小写时的解决办法: 1.可以将查询条件用binary()括起来。 ...查询默认是区分大小写的 如: select * from some_table where str=‘lingyejun'; select * from some_table where str='LINGYEJUN...'; 得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做: 第一种方法: 要让mysql查询区分大小写,可以: select * from some_table where binary

1.8K20

关于MySQL大小写问题

前言: 一般在数据库使用规范中,我们都会看到这么一条:库一律使用小写英文。你有没有思考过,为什么推荐使用小写呢?库是否应该区分大小写呢?带着这些疑问,我们一起来看下本篇文章。...默认情况下,库在 Windows 系统下是区分大小写的,而在 Linux 系统下是区分大小写的。列名,索引,存储过程、函数及事件名称在任何操作系统下都不区分大小写,列别名也区分大小写。...下面再来看下各个值的具体含义: Value Meaning 0 库以创建语句中指定的字母大小写存储在磁盘上,名称比较区分大小写。 1 库以小写形式存储在磁盘上,名称比较区分大小写。...名称比较区分大小写。 一般很少将 lower_case_table_names 参数设置为 2 ,下面仅讨论设为 0 或 1 的情况。...通过以上实验我们发现 lower_case_table_names 参数设为 0 时,MySQL是严格区分大小写的,而且别名同样区分大小写但列名区分大小写,查询时也需要严格按照大小写来书写

7.1K32

linux mysql 修改_Linux下mysql怎么设置?「建议收藏」

Linux下mysql可以通过“ALTER TABLE 旧表 RENAME [TO] 新;”语句来修改;还可以通过配置my.cnf文件,修改“lower_case_table_names”选项的值为...“1”来设置区分大小写。...Linux下mysql设置MySQL 中,可以使用 ALTER TABLE 语句来实现的修改。...在 MySQL 中可以使用 ALTER TABLE 语句来改变原有的结构,例如增加或删减列、更改原有列类型、重新命名列或等。...用户可以使用 DESC 命令查看修改后的结构, Linux下Mysql设置区分大小写 Linux下的MySQL默认是区分大小写的 通过如下设置,可以让MySQL区分大小写: 1、用root

8.9K10

mysql忽略大小写问题记录

原因查找: 因为linux下mysql默认是要区分大小写的。...这样设置后,在硬盘上以小写保存,MySQL将所有转换为小写存储和查找上。该行为也适合数据库的别名。...里创建这张带有大写字母的时,mysql还是默认的区分大小写设置,即对大小写不敏感。...下数据库、列名、别名大小写规则是这样的: 1)数据库是严格区分大小写的; 2)的别名是严格区分大小写的; 3)列名与列的别名在所有的情况下均是忽略大小写的; 4)变量也是严格区分大小写的...修改mysql区分大小写设置: [root@test-huanqiu ~]# mysqladmin -uroot -p shutdown //以安全模式关闭数据库 [root@test-huanqiu

6.5K70

MySQL存储的字段是区分大小写的,你知道吗?

00 简单回顾 之前写过一篇关于mysql 对表大小写敏感的问题(你有遇到过MySQL大小写敏感导致的问题吗),其实在mysql中字段存储的内容是区分大小写的,本篇进行简单的总结。...想回顾一下: MySQL在Linux下数据库、列名、别名大小写规则是这样的: 1、数据库是严格区分大小写的; 2、的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的...02 解决方案 因为默认情况下字段内容是区分大小写的,也即大小写不敏感。所以解决方案就是要新增字段内容的校验规则。 使用mysql 的BINARY 关键字使搜索区分大小写。...使用 NGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin会将字段中varchar类型的全部设置区分大小写。...通过上一篇和这一篇的内容,详细大家对mysql大小写敏感的问题也有一定的认识了,在实际的开发中,库和最好使用小写字母,注意字段存储内容的大写问题。

2.4K30

故障分析 | 库-大小写规范,运维两行泪

检查 MySQL 客户端去查看表信息以及的物理文件包括环境信息(是否严格区分大小写),整理的现象如下:mysqldump 报错:table doesn't exist;show tables 观察:db...而当前的 MySQL 环境是 lower_case_table_names = 1(也就是不论 sql 中是否明确了大小写,均按小写去匹配),可以确定此环境变量有做过变更。...由于操作系统 Linux 是大小写敏感的,MySQL 使用小写字母去匹配需要删除的库文件,而.frm文件中包含了大写,无法匹配,导致文件残留(mysql-error.log 此时记录,在删库过程中,...图片通过以上实验,可以论证第二节的推测是准确的,并总结如下结论:操作系统 Linux 是大小写敏感的,在 lower_case_table_names=0(默认值)条件下,库的物理文件会明确区分大小写...五、运维建议运维中,难免有库的迁移和改造的需求,这时需要特别注意 lower_case_table_names 的值以及库、大小写,稍不留神就报错库或者不存在。

61310

MySQL数据库、优化、算法、分区分库分总结

一、主键设置 主键为什么推荐有业务含义? 1、因为任何有业务含义的列都有改变的可能性,主键一旦带上了业务含义,那么主键就有可能发生变更。...,对于没有主键的,在查询和索引定义上有一定的影响; 避免表字段运行为null,建议设置默认值(例如:int类型设置默认值为0)在索引查询上,效率立显; 建立索引,最好建立在唯一和非空的字段上...如果您知道姓,电话簿将非常有用;如果您知道姓和,电话簿则更为有用,但如果您只知道不知道姓,电话簿将没有用处。 什么情况下应建或少建索引?...EXPLAIN 的查询结果还会告诉你你的索引主键被如何利用的,你的数据是如何被搜索和排序的 当只要一行数据时使用limit 1,MySQL数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据...包括primary key, unique key, foreign key 等 index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的空间(mysql中的innodb空间)以一个类似目录的结构存储

5.2K31

SQL语句大小写是否区分的问题,批量修改整个数据库所有所有字段大小写

select 1,'aa' union all select 2,'Aa' union all select 3,'aA' union all select 4,'AA' --区分大小写...我们可以再这样,看下面的例子: 例: --区分大小写 ALTER DATABASE databasename collate Chinese_PRC_CI_AS --区分大小写...ALTER DATABASE databasename collate Chinese_PRC_CS_AS 批量修改数据库中所有内字段大小写敏感 如: DECLARE @collate nvarchar...排序规则的后半部份(即后缀)含义: _BIN 二进制排序_CI(CS) 是否区分大小写:CI区分,CS区分 _AI(AS) 是否区分重音:AI区分,AS区分    _KI(KS) 是否区分假名类型:...KI区分,KS区分  _WI(WS) 是否区分宽度:WI区分,WS区分 三、整体介绍 在安装SQL时,我们可以选择区分大小写或安装完以后重建mastar,再选择区分大小   下面是rebuildm.exe

2.4K70

如何把MysSQL设置大小写敏感

MySQL在windows下是区分大小写的,将script文件导入MySQL也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。...因为在linux下表区分大小写而找不到,查了很多都是说在linux下更改MySQL设置使其也区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。...具体操作: 在MySQL的配置文件my.ini中增加一行: lower_case_table_names = 0 其中 0:区分大小写,1:区分大小写 MySQL在Linux下数据库、...列名、别名大小写规则是这样的:    1、数据库是严格区分大小写的;    2、的别名是严格区分大小写的;    3、列名与列的别名在所有的情况下均是忽略大小写的;   ...4、变量也是严格区分大小写的; MySQL在Windows下都不区分大小写

1.5K40

MySQL配置、使用规范

一、数据库 不要用大小写混合(即驼峰式),应该全部用小写,使用下划线作为连接符。 Linux中表默认区分大小写,Windows中默认区分(全部转为小写),相互间的导入导出会有问题!!...> 修改配置使Linux下MySQL区分大小写 1、ROOT用户登录,vi /etc/my.cnf 2、找到 [mysqld],在里面加入一行 lower_case_table_names=1 3、重启数据库...注意1:修改此配置时,会导致原来代码中的大写的数据库读不了,而且MySQL-Front工具显示小写但打不开数据库,而phpMyAdmin则仍然显示大写且可以管理,数据库在此状态下大小写统一,非常尴尬...所以对于原来的就有大写的数据库设置这个参数非但不能兼容大小写,而且还会使本来有大写字母的 无论写的SQL是大写还是小写 都查不出来。...其中的ci是 case insensitive 的意思,即大小写不敏感!所以,查询的时候所用的条件是区分大小写的。

1.5K30

MySQL大小写在drop或create触发器时的不同影响

关于MySQL大小写敏感 由于mysql数据库直接对应着数据目录,而、触发器则对应着目录下的文件,因此mysql的标识符是否大小写敏感不仅与所在操作系统相关,也与是哪种对象相关。...缺省情况下,mysql大小写敏感是这样的: 字段名、字段别名、索引、存储过程……,只要不涉及目录和文件,任何平台都不分大小写; Windows平台,数据库别名、触发器等,也不分大小写...; Unix, Linux平台,数据库别名、触发器等,就要区分大小写了; 日志文件组,又是区分大小写的,这个一般情况下没多少人关注; 变量严格区分大小写。...顺便说说其他数据库的情况: Oracle: 默认是大小写不敏感,、字段名等区分大小写,小写字母会自动转换为大写字母,需要用小写字母时需要使用双引号。...PostgreSQL: 默认是大小写不敏感,、字段名等区分大小写,大写字母会自动转换为小写字母(正好与Oracle相反), 需要用大写字母时需要使用双引号。

95220

MySQL中的大小写敏感

,我们暂时跳过,看看第二个参数lower_case_table_names,它的含义 0:区分大小写,1:区分大小写 。...MySQL在Linux下数据库、列名、别名大小写规则是这样的:    1、数据库是严格区分大小写的;    2、的别名是严格区分大小写的;    3、列名与列的别名在所有的情况下均是忽略大小写的...;    4、变量也是严格区分大小写的; 而Windows下的MySQL却是大小写不敏感的,所有数据库都会变成小写。...是区分大小写的。...| aa | | 2 | newtest | +------+---------+ 2 rows in set (0.00 sec)如果要修改大小写敏感的设置,比如设置大小写不敏感,需要设置参数值

2.5K60

细说MySQL区分字母大小写

在Linux系统上使用MySQLMySQL区分字母大小写的,例如建A是大写的A,修改A时脚本里写的a,就会报错a不存在。...在MySQL中,数据库对应数据目录中的目录,数据库中的每个至少对应数据库目录中的一个文件或多个文件,所以,是否区分大小写是其所在的操作系统决定的。...在大多数基于Unix的系统中,MySQL区分大小写的;而在Windows系统中,MySQL区分大小写的。...0表示使用指定的大小写字母在硬盘上保存数据库,并且区分字母大小写;1表示在硬盘上以小写保存,MySQL将所有转换为小写在存储和查找上,区分字母大小写;2表示数据库在硬盘上使用指定的大小写字母进行保存...,但MySQL将它们转换为小写在查找上,区分字母大小写

2.5K50
领券