大小写敏感说明
大小写敏感是在数据库安装时进行设置的,是实例级参数,无法针对数据库单独进行设置。如果需要修改大小写敏感设置,首选重装数据库;如果对数据库比较熟悉,可以通过initdb工具对数据库实例重新初始化
大小写敏感的特点
- 在安装数据库时,默认是大小写敏感的,其特性和Oracle基本一致
- 没有使用界定标识符(双引号)引起来的表名、列名,会默认转为大写
- 使用界定标识符引起来的表名、列名,将以引起来的大小写进行存储,以及后续的查询匹配
大小写不敏感的特点
在安装时,如果选择了case_insensitive,则数据库会被初始化为大小写不敏感。大小写不敏感的表现:
- 在创建表时,没有使用界定标识符(双引号)引起来的表名、列名,默认以当前输入的大小写进行存储,查询时也以全小写进行匹配
- 在查询时,没有使用界定标识符(双引号)引起来的表名、列名,默认都转为小写进行匹配
- 使用界定标识符引起来的表名、列名,将以引起来的大小写进行存储,以及后续的查询匹配
比较和总结
- 不管大小写敏感与否,使用双引号引起来的表名、列名,都是按照引起来的大小写进行匹配。只有不使用界定标识符时有很大的差异
- 大小写敏感,适合于迁移Oracle数据库。大小写不敏感,适合于迁移MySQL和SQL Server数据库
大小写敏感的查看
在数据库中,执行SQL语句即可查看:SHOW case_sensitive;
on:表示大小写敏感。
off:表示大小写不敏感。