达梦数据库大小写敏感设置及使用初探(转)

达梦数据库大小写敏感设置及使用初探_lilv1989的博客-CSDN博客_达梦大小写敏感目录一、说明二、参数设置2.1、图形化设置2.2、命令行设置三、区别3.1、大小写敏感库3.1.1、创表3.1.2、DML操作3.2、大小写不敏感3.2.1、创表3.2.2、DML操作一、说明达梦在安装完软件后,需要初始化数据库实例,初始化中【大小写敏感】这个参数特别重要,因为如果设置错了,在实例生命周期内,无法更改,如果要更改,除非重新初始化。二、参数设置2.1、图形化设置通过dbca工具图形化界面初始化数据库实例,勾选相应参数【字符..https://blog.csdn.net/lilv1989/article/details/116229458达梦数据库字符大小写敏感与字符大小写不敏感情况下的对比_dmdba1的博客-CSDN博客_"storage(on \"main\", clusterbtr)"一、检查数据库实例大小写敏感信息1 获得大小写敏感信息SELECT SF_GET_CASE_SENSITIVE_FLAG();--1为大小写敏感,0为大小写不敏感二、初始化数据库实例为大小写敏感库sp_create_system_packages(1);SELECT SF_GET_CASE_SENSITIVE_FLAG();--12.1、DDL操作create table t...https://blog.csdn.net/fengxiaozhenjay/article/details/101457237

这篇文章写得不错,解了我初学达梦的一个困惑。

目录

一、说明

二、参数设置

2.1、图形化设置

2.2、命令行设置

三、区别

3.1、大小写敏感库

3.1.1、创表

​编辑

3.1.2、DML操作

3.2、大小写不敏感

3.2.1、创表

3.2.2、DML操作


一、说明

达梦在安装完软件后,需要初始化数据库实例,初始化中【大小写敏感】这个参数特别重要,因为如果设置错了,在实例生命周期内,无法更改,如果要更改,除非重新初始化。

二、参数设置

2.1、图形化设置

通过dbca 工具图形化界面初始化数据库实例,勾选相应参数【字符串比较大小写敏感】, 默认值为“勾选”(即为1 ),对于大小写是敏感的,即区分大小写

2.2、命令行设置

通过命令行dminit 工具初始化实例,通过参数 case_sensitive 进行设置,参数默认值为Y (即为1 ),也就是敏感(区分大小写),如果要设置为不敏感,参数设置【case_sensitive=n 】或者【case_sensitive=0 】即可(参数名字大写或者小写都可以)

 
  1. dmdba@dmdsc01:~/dmdbms/bin$ ./dminit help

  2. initdb V8

  3. db version: 0x7000b

  4. 格式: ./dminit KEYWORD=value

  5. 例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16

  6. 关键字 说明(默认值)

  7. --------------------------------------------------------------------------------

  8. CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0

三、区别

3.1、大小写敏感库

3.1.1、创表

1、如果不对表名或列名添加"",那么表名和列名都自动转换为大写形式

2、如果对表名或列名添加"",会固定书写时的大、小写形式,书写时采取的是小写形式,那么就定型为小写形式,其他不添加""的则自动转换为大写形式,无论书写时采取的是大写形式或小写形式


3、同名的数据库对象,如果大小写不同,那么则为两个不同的对象,字段同样如此;


 

3.1.2、DML操作

1、如果不对表名或列名添加"",那么表名和列名都自动转换为大写形式;

2、对表进行DML操作时,如果没有小写形式的字段,不能采取小写加""的形式指定过滤字段,会被认定为无效的字段;

3、如果对表名或列名添加"",会固定书写时的大、小写形式,""中是大写形式,则过滤字段就是大写字段,""中是小写字段,则过滤字段就是小写字段;

4、查询时,"和""界定符中字符串区分大小写,界定符中的字符串若是大写形式,那仅查询这个大写形式的对象,若是或小写形式,那仅查询这个小写形式的对象,DML操作依旧

3.2、大小写不敏感

3.2.1、创表

1、无论对不对表名或列名添加"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式

2、不允许存在同名的数据库对象,即使大小写不同,默认也只能存在一个

3、一个表中,也不允许相同的字段名,即使大小写不同

3.2.2、DML操作

1、无论对不对表名或列名添加"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式;

2、查询时,’'和""界定符不区分大小写,界定符中的查询或过滤条件即使是大写或小写,都可以查询到预期的结果集,进行DML操作时依旧

总结:
大小写敏感的数据库中:
创建表时:

大小写敏感的数据库中:
DML或DSL操作时:
①如果不对表名或列名添加"",那么表名和列名都自动转换为大写形式;
②对表进行DML操作时,如果没有小写形式的字段,不能采取小写加"“的形式指定过滤字段,会被认定为无效的字段;
③如果对表名或列名添加”",会固定书写时的大、小写形式,"“中是大写形式,则过滤字段就是大写字段,”“中是小写字段,则过滤字段就是小写字段;
④对其进行DML操作时,需要利用”“指定表名和字段名,否则默认会认定以大写形式去查询对象。
⑤查询时,’'和”"界定符中字符串区分大小写,界定符中的字符串若是大写形式,那仅查询这个大写形式的对象,若是或小写形式,那仅查询这个小写形式的对象,DML操作依旧。

大小写不敏感的数据库中
DML或DDL操作时:
①无论对不对表名或列名添加"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式;
②不允许存在同名的数据库对象,即使大小写不同,默认也只能存在一个;
③一个表中,也不允许相同的字段名,即使大小写不同;
④查询时,’'和""界定符不区分大小写,界定符中的查询或过滤条件即使是大写或小写,都可以查询到预期的结果集,进行DML操作时依旧。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值