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

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

 

1.MySQL大小写敏感规则mysql

 

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


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

Linux下:

一、数据库名与表名是严格区分大小写的;
二、表的别名是严格区分大小写的;
三、列名与列的别名在全部的状况下均是忽略大小写的;
四、变量名也是严格区分大小写的; 

在Windows下:

所有不区分大小写


补充:sql

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

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

 

 

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

 

2.一种MySQL命名规范

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

相关文章
相关标签/搜索