欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-10 12:48:11
...

MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的

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


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

在Linux下:

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

在Windows下:

全部不区分大小写

另:

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

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

补充:

MySQL中有一个系统变量:lower_case_table_names,专门用来配置是否区分据库名与表名的大小写。

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