MySQL| MySQL大小写敏感问题

2024-06-09 12:08

本文主要是介绍MySQL| MySQL大小写敏感问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Mysql库表大小是否敏感与操作系统以及配置有关
  • Mysql列大小写不敏感
  • 大小写敏感-->不敏感
  • 注意事项
  • 查询语句字符串是否大小写敏感

Mysql库表大小是否敏感与操作系统以及配置有关

可以通过show variables like "%case%";查看当前Mysql关于大小写的设置,下面是我再Windows下执行的结果
在这里插入图片描述

参数说明:

  • lower_case_file_system
    该参数是用于描述mysql的数据目录data所在的操作系统是否为大小写敏感,该参数为bool类型,但无法修改。
    0 – 大小写敏感
    1 – 大小写不敏感
    比如跑在linux上的都是OFF或者0。

  • lower_case_table_names
    该参数为静态,可设置为0、1、2。

    0 – 大小写敏感。(Unix,Linux默认)
    创建的库表将原样保存在磁盘上。如create database TeSt;将会创建一个TeSt的目录,create table AbCCC …将会原样生成AbCCC.frm。
    SQL语句也会原样解析。

    1 – 大小写不敏感,全转成小写了。(Windows默认)
    创建的库表时,MySQL将所有的库表名转换成小写存储在磁盘上。
    SQL语句同样会将库表名转换成小写。
    如需要查询以前创建的Test_table(生成Test_table.frm文件),即便执行select * from Test_table,也会被转换成select * from test_table,致使报错表不存在。

    2 – 大小写不敏感(OS X默认)
    创建的库表将原样保存在磁盘上。但SQL语句将库表名转换成小写。
    这个比较难理解,就是说在你的建库或建表语句中,如果写的是大写那么保存在磁盘中的也是大写格式.但是当你再想创建同名的小写库或表时会提示你改库或表已经存在了.

Windows默认参数结果:
在这里插入图片描述
Linux默认参数结果:
在这里插入图片描述


Mysql列大小写不敏感

列名与列的别名在所有的情况下均是忽略大小写的,不管是Linux系统还是Windows凶下MySQL的列名都默认不区分大小写.
该测试在Windows下测试(配置为默认配置)
在这里插入图片描述


大小写敏感–>不敏感

如果原来所建立库及表都是对大小写敏感的,想要转换为对大小写不敏感,主要需要进行如下3步:
1.将数据库数据通过mysqldump导出。
2.在my.cnf中更改lower_case_table_name = 1,并重启mysql数据库。
3.将导出的数据导入mysql数据库。


注意事项

强烈建议:
为了避免大小写引发的问题,一种推荐的命名规则是:在定义数据库、表、列的时候全部采用小写字母下划线的方式,不使用任何大写字母.

在任何系统中可以使用lower_case_table_name=1。使用该选项的不利之处是当使用SHOW TABLES或SHOW DATABASES时,看不出名字原来是用大写还是小写。
请注意在Unix中如果以前lower_case_table_name = 0将lower_case_table_name设置为1之前,重启mysqld之前,必须先将旧的数据库名和表名转换为小写。

查询语句字符串是否大小写敏感

在mysql上字符串内容默认是不区分大小写的.
在这里插入图片描述
在这里插入图片描述

这篇关于MySQL| MySQL大小写敏感问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045137

相关文章

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.