MySQL 区分大小写问题(库名,表名,字段列名,数据值)
2019-04-29| 程成| 454| 0| MySQL

最近在开发建表中,突然想到一个问题,我可以将字段设置成大写吗?MySQL 区分大小写吗?后来做了一番实验,发现区分大小写除了和系统有关,还和你的大小写位置有关。


我当前操作系统是 Linux,以下 Linux 的结论我都是亲测过的,windows 结论选自网络,大家可以动手实践下。



一、MySQL 库名区分大小写吗


image.png



这是我的本地库,我想在 weilin_test 库下使用 sys 库


image.png


再使用 Sys 库(不存在),首字母大写



image.png


结果不行。


结论:Linux 下 库名在 MySQL 中是严格区分大小写的,Windows 下不区分。



二、MySQL 表名区分大小写吗


本地有张 users 表,下面以 users 表为例。


image.png



image.png



结论:Linux 下 表名在 MySQL 中是严格区分大小写的,Windows 下不区分。



三、MySQL 字段列名区分大小写吗


下面是以 users 表 id 字段为例


image.png



image.png



image.png


结论:Linux 下列名与列的别名在所有的情况下均是忽略大小写的;Windows同理



四、MySQL 字段列名区分大小写吗


image.png



image.png



image.png


结论:Linux 下数据值默认是不区分大小写的,但是加了 binary 关键字后是区分的;Windows还是不区分大小写。



什么是 binary?


binary 翻译是二进制的意思。binary 不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。



你可以通过下面方法使 MySQL 字段列名区分大小写:


1、编辑器直接勾选


image.png


2、创建表时


CREATE TABLE 表名( 
    字段名 VARCHAR(10) BINARY 
);



3、修改表


ALTER TABLE `表名` MODIFY COLUMN `列名` VARCHAR(10) BINARY;


下一篇:没有下一篇了
×
作者:程成
QQ:492245711