最近在开发建表中,突然想到一个问题,我可以将字段设置成大写吗?MySQL 区分大小写吗?后来做了一番实验,发现区分大小写除了和系统有关,还和你的大小写位置有关。
我当前操作系统是 Linux,以下 Linux 的结论我都是亲测过的,windows 结论选自网络,大家可以动手实践下。
这是我的本地库,我想在 weilin_test 库下使用 sys 库
再使用 Sys 库(不存在),首字母大写
结果不行。
结论:Linux 下 库名在 MySQL 中是严格区分大小写的,Windows 下不区分。
本地有张 users 表,下面以 users 表为例。
结论:Linux 下 表名在 MySQL 中是严格区分大小写的,Windows 下不区分。
下面是以 users 表 id 字段为例
结论:Linux 下列名与列的别名在所有的情况下均是忽略大小写的;Windows同理
结论:Linux 下数据值默认是不区分大小写的,但是加了 binary 关键字后是区分的;Windows还是不区分大小写。
binary 翻译是二进制的意思。binary 不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
你可以通过下面方法使 MySQL 字段列名区分大小写:
CREATE TABLE 表名( 字段名 VARCHAR(10) BINARY );
ALTER TABLE `表名` MODIFY COLUMN `列名` VARCHAR(10) BINARY;