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)字符串要用单引号括起来,双引号用来明确告诉数据库不要转换成小写,本次要区分大小写。

PostgreSQL大小敏感问题相关推荐

  1. numeric比较大小 数据库_mysql大小写敏感与校对规则

    正文 大家在使用mysql过程中,可能会遇到类似以下的问题: 模糊匹配 jg%,结果以JG开头的字符串也出现在结果集中,大家很自然的认为是大小写敏感的问题.那么mysql中大小写敏感是如何控制的:数据 ...

  2. android nio debug模式正常 release包crash_Flutter包大小治理上的探索与实践

    Flutter作为一种全新的响应式.跨平台.高性能的移动开发框架,在性能.稳定性和多端体验一致上都有着较好的表现,自开源以来,已经受到越来越多开发者的喜爱. 但是,Flutter的引入往往带来包体积的 ...

  3. 美团flutter_Flutter包大小治理上的探索与实践

    一.背景 Flutter作为一种全新的响应式.跨平台.高性能的移动开发框架,在性能.稳定性和多端体验一致上都有着较好的表现,自开源以来,已经受到越来越多开发者的喜爱.随着Flutter框架的不断发展和 ...

  4. [015]Redis | 内存大小单位转换

    1k => 1000 bytes 1kb => 1024 bytes 1m => 1000000 bytes 1mb => 1024*1024 bytes 1g => 1 ...

  5. flutter 图片压缩_Flutter包大小治理上的探索与实践

    Flutter作为一种全新的响应式.跨平台.高性能的移动开发框架,在性能.稳定性和多端体验一致上都有着较好的表现,自开源以来,已经受到越来越多开发者的喜爱. 但是,Flutter的引入往往带来包体积的 ...

  6. python学习笔记(一)之入门

    1.python的安装 官网下载.exe文件直接安装即可,在安装过程中选择加入环境变量,就不用在安装后再去增添环境变量了. 本文选择的是python3.6版本,没有选择2.7版本. 2.启动pytho ...

  7. IntelliJ IDEA 2019从入门到癫狂 图文教程!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:yizhiwazi 来源:www.jianshu.com/p ...

  8. 谷歌力作:神经网络训练中的Batch依赖性很烦?那就消了它!

    点击上方↑↑↑"视学算法"关注我 来源:公众号 量子位 授权转 再见了,批量依赖性(Batch Dependence). 优化神经网络方法千千万,批量归一化(Batch Norma ...

  9. mysql 开仓函数_MySQL函数大全 及用法示例

    字符串函数 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> s ...

最新文章

  1. Gastroenterology:住院期间COVID-19患者肠道菌群的变化
  2. IOS网址解析-demo
  3. 对MVC、MVP、MVVM的理解
  4. tplink 文件服务器,tplink云存储服务器地址
  5. python中怎么输入角度_在Python中更正两点之间的角度
  6. C++ VS C# 结构体和对象的细微区别
  7. window部署python项目_Django在Window下的部署
  8. linux添加nginx,linux下安装Nginx1.16.0的教程详解
  9. java 用mysql游标_MySQL游标
  10. UML课程大作业-网上书店系统
  11. 软件开发基本流程【一】
  12. 使用Flying Saucer生成pdf
  13. bind9 dlz mysql_利用BIND+DLZ+MYSQL构建企业智能DNS
  14. python 实现多核 CPU 并行计算
  15. pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)
  16. Lecture3 损失函数和优化损失函数
  17. 以太坊区块同步成功标志
  18. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程方法总结
  19. Android 实现拍照、录像
  20. flink入门3-Flink连接Kafka、Redis,实现Kafka Source/Redis Sink

热门文章

  1. AI崛起影响硅谷公众形象
  2. php 做多个关键字搜索,多个关键词搜索的实现
  3. 为什么边缘正在“吞噬”这个世界
  4. 速食文化下的技術本質
  5. centos7 foxit reader占用CPU过高问题解决方案
  6. 51单片机汇编_冒泡法排序
  7. 快速多人游戏(2) - 客户端预测和服务器校验
  8. 太逆天!程序员当总统、拿下《国家地理》全球总冠军、成著名歌手!
  9. xiami flash播放器对歌曲链接的解密算法
  10. 计算机专业常用笔记本,适合计算机专业的笔记本电脑有哪些