如何让mysql的表名/字段名/字段值区分大小写?
1、mysql默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分。
2、mysql对于类型为varchar数据默认不区分大小写,但如果该字段以“*_bin”编码的话会使mysql对其区分大小写。
3、mysql对于字段名的策略与varchar类型数据相同。即:默认不区分大小写,但如果该字段是以“*_bin”编码的话会使mysql对其区分大小写。
怎么让mysql数据库区分数据的大小写?
在MySQL中,区分数据的大小写主要有两种方法:
修改MySQL配置:
图片来源:网络
你可以在MySQL的配置文件(my.cnf或my.ini,取决于你的操作系统和MySQL的安装方式)中修改[mysqld]部分的lower_case_table_names配置项。
如果设为0,MySQL会将所有的表名和数据库名都转化为大写。如果设为1,MySQL会将所有的表名和数据库名都转化为小写。如果设为2,MySQL会根据创建时的大小写来保留表名和数据库名。
修改后需要重启MySQL服务器使得设置生效。
注意:在修改这个配置项之前,你需要考虑你的应用程序是否依赖于大小写不敏感的数据库名或表名。如果存在这样的情况,修改这个设置可能会导致问题。2. 在查询时使用引号:
如果你想在查询时区分大小写,可以在字段名或表名周围使用引号。例如:
sqlSELECT `MyField` FROM `MyTable`;
在这种情况下,MySQL会区分MyField和myfield,但不会区分MyTable和mytable。如果没有使用引号,MySQL将不区分大小写。例如:
sqlSELECT MyField FROM MyTable;
在这种情况下,MySQL将不区分MyField和myfield,也不区分MyTable和mytable。
要让MySQL数据库区分数据的大小写,需要在创建数据库时设置对应的字符集和校对规则。首先,选择一个区分大小写的字符集,如utf8_bin或utf8mb4_bin。然后,在创建数据库时,使用该字符集,并指定对应的校对规则,如utf8_bin或utf8mb4_bin。这样,数据库将会区分数据的大小写。请注意,修改字符集和校对规则可能会影响现有数据,因此请谨慎操作,并备份数据以防万一。