达梦数据库大小写是否铭感对数据库的影响

本文探讨了达梦数据库在大小写敏感性设置为Y和N时对表名、字段及用户名的影响。在大小写敏感为Y的数据库中,创建带双引号的表如"t1",在查询时不区分大小写;不加双引号的表名在查询时大小写敏感。而大小写敏感为N的数据库,无论创建或查询表、字段和用户名均不区分大小写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、初始化一个大小写为N的数据库实例

./dminit path=/dm8/data2/CASE_N extent_size=16 page_size=16 log_size=512 charset=0 case_sensitive=N

case_sensistive是数据库初始化时指定数据是否大小写, 取值为Y, y, N, n,1,0 之一 ,默认值是Y

2、另一个达梦数据库上设置大小写为Y

 

3、数据库大小写敏感对表名的作用

3.1分别在大小写敏感为Y和N的库上创建"t1"表

create table "t1" (id int,name varchar(20));
insert into "t1" values (1,'aa');
commit;
select * from "t1";
select * from "T1";

 

 

小结:再创建"t1" 表时,大小写敏感为Y的库下查看"T1"是有报错:查不到"T1"表

3.2.分别在大小写敏感为Y和N的库上创建t1表,(不加双引号)

create table t1 (id int,name varchar(20));
insert into t1 values (1,'aa');
commit;
--drop table t1
select * from t1;
select * from T1;

小结:在表面不加双引号时,创建表t1是都可以查看的到表;

4.数据库大小写敏感对表字段的作用

create table t1 (id int,name varchar(20));
insert into t1 values (1,'aa');

select * from t1 where name='AA'
select * from t1 where name='aa'

查看表字段里大小写数据库的情况

create table t1 (id int,name varchar(20));
insert into t1 values (1,'aa');

select * from t1 where name='AA'
select * from t1 where name='aa'

小结:在查看表字段里数据时,大小写敏感为Y时,查看不到数据

5.对用户名的影响

create user "test" identified by test_12345

select * from all_users where username='test';
select * from all_users where username='TEST';

 

create user "test" identified by test_12345

select * from all_users where username='test';
select * from all_users where username='TEST';

小结:在大小写敏感为Y的数据中查看用户 "test" 时查看不到用户

 

总结:

在大小写敏感写设置成  是  的时候:  如果在创建表对象,用户,视图,写表数据的时候不加双引号的话就会默认转换为大写;

在大小写敏感设置成 否 的时候  无论是建表或者写数据的时候是大写还是小写,在查数据或者查表的时候都是不区分大小写的;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值