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

关于MySQL大小写问题

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

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

mysql忽略大小写问题记录

原因查找: 因为linux下mysql默认是要区分大小写的。...这样设置后,在硬盘上以小写保存,MySQL将所有转换为小写存储和查找上。该行为也适合数据库的别名。...3)登陆mysql数据库,"alter table 旧表 rename 新" 将带大写字母的旧表改为小写 4)最后再启动mysql即可!...下数据库、列名、别名大小写规则是这样的: 1)数据库是严格区分大小写的; 2)的别名是严格区分大小写的; 3)列名与列的别名在所有的情况下均是忽略大小写的; 4)变量也是严格区分大小写的...修改mysql区分大小写设置: [root@test-huanqiu ~]# mysqladmin -uroot -p shutdown //以安全模式关闭数据库 [root@test-huanqiu

6.5K70

设置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、列名与列的别名在所有的情况下均是忽略大小写的...; 4、变量也是严格区分大小写的; MySQL在Windows下都不区分大小写

15.8K21

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

而当前的 MySQL 环境是 lower_case_table_names = 1(也就是不论 sql 中是否明确了大小写,均按小写去匹配),可以确定此环境变量有做过变更。...由于操作系统 Linux 是大小写敏感的,MySQL 使用小写字母去匹配需要删除的库文件,而.frm文件中包含了大写,无法匹配,导致文件残留(mysql-error.log 此时记录,在删库过程中,...=1 ,并重启 MySQL ;在 lower_case_table_names=1 条件下,模拟删除数据库:test_database ;查看物理文件信息以及 mysql-error.log 信息;使用...=1 条件下,下发 Drop database 操作,由于 frm 文件包含大写,无法匹配,因此残留,而 idb 文件不论大小写都会被删除。...五、运维建议运维中,难免有库的迁移和改造的需求,这时需要特别注意 lower_case_table_names 的值以及库、大小写,稍不留神就报错库或者不存在。

61010

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环境下表区分大小写问题

在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.7K20
领券