在MySQL中,数据库、表、triggers实际上都对应了datadir目录(或子目录)下的文件,因此,这些对象的名字是否大小写敏感主要是依赖于操作系统和文件系统的,因此这些内容在Windows中是大小写是不敏感的,而在大多数类Unix系统中是敏感的(Mac OS X除外),当然对于建立在这些类Unix系统上的MySQL,敏感性可以在一定程度上通过参数的修改来设定。
1、column(包括别名)、 index、routine和 event names在所有平台上大小写都是不敏感的;
2、logfile groups名称在所有平台上都是大小写敏感的;
3、database、table(包括别名)的大小写敏感性可以通过系统参数lower_case_table_names来配置(修改参数的值需要重启数据库);
4、trigger identifiers的大小写敏感性不受lower_case_table_names参数影响,在Windows和MAC OS X上是不敏感的,在其他类Unix系统上是不敏感的;
5、数据敏感性:由Mysql的校对字符集规则来控制(Collation),默认大小写不敏感;
例如有如下2条记录,如果我们只想查询小写的'a'怎么办?MySQL root@[test]>select * from t1 where name ='a'; +------+------+ | id | name | +------+------+ | 1 | a | | 2 | A | +------+------+可以在字段name前加个binary,使其区分大小写:MySQL root@[test]>select * from t1 where binary name ='a';+------+------+| id | name |+------+------+| 1 | a |+------+------+ |
---|
如果不调参数,各种类型大小写敏感如下:
类型 | 敏感 | 不敏感 |
---|---|---|
database | √ | |
table | √ | |
index | √ | |
column | √ | |
value | √ | |
routine | √ | |
trigger | √ | |
event | √ |
MYSQL轻松学
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有