文档章节

MySQL大小写敏感问题和命名规范

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 713
阅读 21
收藏 1
点赞 0
评论 0

注:本文大部内容参考自互联网相关文章


1.MySQL大小写敏感规则


MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)因此:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的。


以下是MySQL详细的大小写区分规则:

在Linux下:

1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;

在Windows下:

全部不区分大小写


补充:

1.MySQL中有一个系统变量:lower_case_table_names,专门用来配置是否区分据库名与表名的大小写。 如果你的系统是Windows,而你又希望mysql能够区分大小写,那么你可以在my.ini文件中,在[mysqld]一节的最后,加入如下部分:

#If set to 0, table names are stored as specified and comparisons are case sensitive. 
#If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive. 
#If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.
lower_case_table_names=0


2.MySQL在查询字符串时是大小写不敏感的。如某字段值需要区分大小写,可在定义该字段时指定BINARY属性。


2.一种MySQL命名规范

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


3.关于Hibernate/JPA数据库schema自动映射的问题

使用Hibernate/JPA的工程可以自动生成数据库的schema,由于java有着自己的类与字段命名规则,这与mysql推荐的命名规则不太相符,于是出现了follow哪一种命名规范的问题。一般来说这会由团队和DBA协商确定,使用mysql的命名规范不会出现大小写带来的问题,对于DBA来说可能也更加友好,而使用java的命名规范则对开发人员来说无疑是更加友好的,这将省去列名的映射配置,同时也方便开发人员查看数据库。如果你的项目使用了后者,你最好像上面讲到的,设置一下lower_case_table_names=0


本文转载自:http://blog.csdn.net/bluishglc/article/details/7634969

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
解决mysql数据库大小写敏感问题

今天在部署java项目到linux服务器上去的时候出现了个小问题,数据库是mysql,项目在我本地(windows环境下)是没问题的。错误信息:2012-09-06 00:01:29,314 INFO [org.springframework.jdbc....

肖文锋 ⋅ 2012/09/06 ⋅ 4

Mysql 大小写问题

MYSQL在默认的情况下查询是不区分大小写的,例如: CREATE TABLE T1( NAME VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM T1 WHERE NAME='ABC';SELECT *...

程序猿之小菜鸟 ⋅ 2015/08/31 ⋅ 0

linux下Mysq表名的大小写问题解析

这些天把项目都转移到新的Linux服务器上来,发现总是报无法找到表的错误。 ssh进去mysql下: 然后发现卧槽有啊。。。 回来发现输出信息均为未找到“TUSER”大写字样。回来想可能是用mybatis...

aijfanta ⋅ 2016/04/16 ⋅ 0

日常编程遇到问题的经验总结

一.JSTL: 问题:According to TLD or attribute directive in tag file, attribute value does not accept any expressions 2.4及以后写成(JSTL1.1) : <%@ taglib prefix="c" uri="http://j......

qingtian ⋅ 2011/03/06 ⋅ 0

MySQL 字段内容区分大小写

数据由Oracle 迁入MySQL ,由于之前Oracle区分大小写,MySQL的配置使用了默认配置,导致一些数据导入失败,有的唯一键报错,冲突。 将测试过程记录在下面。 数据库版本:MySQL 5.7.11 引用他...

Amnesiasun ⋅ 2017/06/01 ⋅ 0

java语言项目规范以及基本语法

JAVA项目编程规范 一、命名规范 1、 项目名全部小写 2、 包名全部小写 3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。 如:public class MyFirstClass{} 4、 变量...

ShuenWang ⋅ 2017/03/09 ⋅ 0

linux mysql 大小写问题

show variables like '%case%' mysql 在linux中与windows中是不同的。在windows中建表表名是不区分大小写的,而在linux是区分大小的的、但是linux中是可以设置的。 ------------------------...

Zero零_度 ⋅ 2016/10/28 ⋅ 0

linux mysql 大小写问题

mysql 在linux中与windows中是不同的。在windows中建表表名是不区分大小写的,而在linux是区分大小的的、但是linux中是可以设置的。 ----------------------------------------------- 以下的...

王小盼 ⋅ 2016/05/05 ⋅ 0

mysql表名大小写敏感

在ubuntu下安装的mysql版本是 5.6.25-0ubuntu1 linux下的mysql的表名是大小写敏范的。而在在windows下安装的mysql是大小写不敏感的。 原因是因为lowercasetable_names该属性在linux下默认为0...

xbuding ⋅ 2016/04/24 ⋅ 0

PHP PSR-4 Autoloader 自动加载(中文版)

Autoloader 关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、 “将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT"...

钟良 ⋅ 2016/11/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

编译安装apache2.4.33

1. 环境 编译安装apache2.4.33,错误 error: ld returned 1 exit status。 CentOS 7.2apr-1.6.3apr-util-1.6.1httpd-2.4.33 2. 编译报错 编译安装完 apr apr-util 之后,安装httpd-2.4.3......

周云台 ⋅ 13分钟前 ⋅ 0

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 22分钟前 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 28分钟前 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 30分钟前 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 30分钟前 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 39分钟前 ⋅ 0

Greenplum 三节点安装教程(非root用户)

Greenplum 三节点安装教程(非root用户) 环境准备 安装vmware,装三台centos 虚拟机设置: 主机名 IP 内存 硬盘 node1 Xxx1 2G 80G node2 Xxx2 2G 80G node3 Xxx3 2G 80G CSDN下载greenplum...

仔仔1993 ⋅ 39分钟前 ⋅ 0

linux 信号机制

signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协...

xxdd ⋅ 40分钟前 ⋅ 0

SpringWind

环境搭建和系统部署

颖伙虫 ⋅ 59分钟前 ⋅ 0

vim命令用法

第五章 vim命令 vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。 vim有三个模式:一般模式,编辑模式,命令模式。 系统最小化安装时没有安...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部