注册
几种数据库的大小写敏感区别
专栏/技术分享/ 文章详情 /

几种数据库的大小写敏感区别

丁丁 2023/09/24 2144 5 0
摘要

最近因为数据库配置大小写敏感的话题跟客户讨论过,问题的缘由来自客户标准化是否配置数据库大小写敏感。
如Oracle默认是大小写敏感,DB2默认是大小写敏感,MySQL默认是大小写不敏感,而达梦为了兼容不同数据库的迁移适配既可以设置大小写敏感也可以设置大小写不敏感(默认是大小写敏感)。

针对常用数据库的大小写敏感,测试记录如下:

达梦数据库
版本: 1-3-25-2023.04.26-188991-20046-ENT
1.大小写敏感
image.png
2.建表:两个字段一个大写,一个小写
SQL> create table t1 (ID int,"name" varchar(20));
image.png
3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png
4.查询字段
image.png

测试说明数据库敏感:查询字段列名小写字母会自动转换成大写,如果使用小写字段名称,需要加双引号查询,对于数据集大小写也同样是敏感的。查询的数据区分大小写敏感。

版本: 1-3-25-2023.04.26-188991-20046-ENT
1.大小写不敏感
image.png

2.建表:两个字段一个大写,一个小写
image.png

3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png

4.查询字段
image.png

测试说明数据库不敏感:查询字段列名不区分大小写敏感,查询的数据结果集也不区分大小写敏感。

Oracle数据库
版本: 19.0.0.0.0
image.png

1.大小写敏感
image.png
2.建表:两个字段一个大写,一个小写
image.png
3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png
4.查询字段
image.png

测试说明数据库敏感:查询字段列名小写字母会自动转换成大写,如果使用小写字段名称,需要加双引号查询,对于数据集大小写也同样是敏感的。查询的数据区分大小写敏感。

1.大小写不敏感
image.png
2.建表:两个字段一个大写,一个小写
image.png
3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png
4.查询字段
image.png
测试说明数据库不敏感:查询字段列名区分大小写敏感,查询的数据结果集不区分大小写敏感。

MySQL数据库
版本: Server version: 5.7.40-log MySQL Community Server (GPL)

1.表名大小写敏感
image.png
2.建表:两个字段一个大写,一个小写
image.png
3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png
4.查询字段
image.png
image.png

测试说明数据库敏感:lower_case_table_names = 0:仅表名区分大小写,数据不区分大小写。

1.表名大小写不敏感
image.png
2.建表:两个字段一个大写,一个小写
image.png
3.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png
4.查询字段

image.png

image.png

1.查询区分大小写敏感
image.png

2.插入数据(三行数据),一行大写,一行小写,一行混合大小写
image.png

3.查询字段
image.png
image.png

测试说明数据库不敏感:查询字段列名不区分大小写敏感,表名不区分大小写,查询的数据结果集需要设置表字段编码格式查询方可大小写敏感。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服