PostgreSQL大小敏感问题

PostgreSQL之大小敏感问题

背景

以前看过postgresql的书说是 大小写敏感,觉得自己注意应该也不是啥事。最近用postgresql数据库,由于之前用 orcle 数据库习惯的命名习惯,喜欢全大写,然后调用时写的大写也提示找不到,然后开始试验了下表名、字段、函数等名大写或驼峰命名,发现postgresql的大小写规则可以用“混乱”形容。当然“混乱”不是指postgresql没定义清楚,是指我这程序员的思维理解起来不那么舒服。

实际测试

1、创建一个STUDENT表
create table STUDENT(age int);
他会默认把 STUDENT 转为 student

2、你在创建表student 或者 STUDENT是会提示表已存在
在这里插入图片描述
3、当你创建 create table “STUDENT”(age int); 时,加双引号,才能成功
加双引号告诉PostgreSQL,不要转换成小写在这里插入图片描述

结论:

  1. PostgreSQL的数据库内核对大小写敏感。数据库名,数据表名,列名区分大小写。

  2. 在PostgreSQL中,执行SQL语句时,会把所有表示关键字,库名,表名,列名的字符串转换成小写。所以又说PostgreSQL不区分大小写的。

  3. 在书写SQL时,为了便于理解,默认:关键字大写,表名首字母大写,列名全部小写。

对象名:如库名,表名,字段名
数据库内核是区分大小写的。
只是为了方便使用,数据库在分析SQL脚本时,对不加双引号的所有对象名转化为小写字母。
除非你在对象名加上双引号。
所以
(1)从建表到应用,要么都加双引号,要么都不要加。
(2)如果以上这点做不到,所有的对象名给我写小写字母。
(3)字符串要用单引号括起来,双引号用来明确告诉数据库不要转换成小写,本次要区分大小写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值