PostgreSQL 是不是大小写敏感

这篇具有很好参考价值的文章主要介绍了PostgreSQL 是不是大小写敏感。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果你踩过 MySQL 的大坑的话就知道:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。

如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现表名找不到的问题。

这是我们前一个项目遇到的巨大问题,开发是在 Windows 下进行,但是部署是在 Linux 下进行。

例如一个表:tableName 和 tablename,这 2 个表在 Windows 下是一样的,但在 Linux 下就不一样了。

所以我们的程序在 Windows 下查询表 tableName 没有问题,但是如果 Linux 下数据库的表名为 tableName 的话,那么查询就找不到表了。

有过上面经历的话,我们来看看 PostgreSQL

PostgreSQL 是大小写敏感的

在默认情况,PostgreSQL 在存储和比较数据值的时候字符串的值如果是大小写的处理方式是不一样的。

例如: “isharkfly” 和 “iSharkFly” 是不同的值,这个在 PostgreSQL 会影响存储的。

创建表的 SQL

如果我们有一个创建表的 SQL:

create table test.Table_name
(
    id        integer,
    user_name varchar
);

create table test.table_name
(
    id        integer,
    user_name varchar
);

注意到,上面的 T 是大写的,如果运行上面的 SQL,在数据库上,我们会看到表的名字被转换成小写了。

PostgreSQL 是不是大小写敏感,postgresql,数据库

如果我们想在数据库中创建一个 Table_name 可以吗?

答案是可以的。

需要把 Table_name 放在双引号里面。

运行的 SQL 就成这样了。

create table test."Table_name"
(
    id        integer,
    user_name varchar
);

PostgreSQL 是不是大小写敏感,postgresql,数据库

结论

为了避免我们在 MySQL 上遇到的大小写问题和平台问题。

在设计数据库表的时候,不要使用大小写混合模式,要么就全部约定为小写,要不就全部约定为大写。

因为 PostgreSQL 会默认全部使用小写,所以在 PostgreSQL 的表面和字段名要全部为小写为好。

Oracle 数据库在这里是另类,在 Oracle 中全部按照大写存储的。

PostgreSQL 是不是大小写敏感 - 数据库 - iSharkFly如果你踩过 MySQL 的大坑的话就知道:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。 如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现表名找不到的问题。 这是我们前一个项目遇到的巨大问题,开发是在 Windows 下进行,但是部署是在 Linux 下进行。 例如一个表:tableName 和 tablename,这 2 个表在 Windows 下是一样的,但在 …https://www.isharkfly.com/t/postgresql/15350文章来源地址https://www.toymoban.com/news/detail-822472.html

到了这里,关于PostgreSQL 是不是大小写敏感的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决MySQL 8.0以上版本设置大小写不敏感的问题

            MySQL 8.0以上版本默认区分大小写,但在低版本(如5.7)中,可以通过在my.cnf配置文件的[mysqld]节下添加lower_case_table_names=1来设置大小写不敏感。然而,在MySQL 8.0以上版本中,添加此配置可能导致MySQL服务无法启动。本篇博客将介绍如何解决MySQL 8.0以上版本设置大小

    2024年02月02日
    浏览(29)
  • 解决mysql8.0 lower_case_table_names 大小写敏感设置问题

    lower_case_table_names=1 表示 mysql 是不区分大小写的 lower_case_table_names=0 表示 mysql 是区分大小写的 根据网上资料得知mysql8.0之后,lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。 需要重新初始化MySQL数据

    2024年02月15日
    浏览(33)
  • 二叉树是不是树?

    先说明,以下结论都是正确的 1. 树和二叉树是两种不同的树形结构,二叉树不是树的特殊形式。 2. 二叉树也不是 度为 2的有序树。 一个一个解释。 在23版《王道》考研数据结构关于树和二叉树的框架图如下: 很明显可以推断:树是树,二叉树是二叉树,树并没有包含二叉树

    2024年02月12日
    浏览(31)
  • 人脸检测是不是目标检测呢?

    人脸检测是不是目标检测呢? 人脸识别和目标检测都是计算机视觉领域的重要应用之一,但它们的应用场景和方法有所不同。 人脸识别是一种通过计算机技术对照片、视频等图像中的人脸进行识别的技术。人脸识别一般分为两个步骤: 人脸检测和人脸识别 。人脸检测是指在

    2024年02月06日
    浏览(40)
  • 【C语言】判断是不是闰年

    闰年的判断方法(两个条件都满足): 1)年份能被4整除 ,但不能被100整除。 2)年份能被400整除。 输入一个年份,判断它是不是闰年  我们可以利用bool或者_Bool的返回值来判断是否为闰年(bool(布尔类型)是一种数据类型,只有真(true)和假(false)两个值) 判断1000~2

    2024年02月06日
    浏览(37)
  • 如何辨别ChatGPT是不是真的

    随着ChatGPT爆红,国内陆续出现了几个所谓的“ChatGPT 反向代理站点”,乍一试回答似乎还挺靠谱,但它们真的是ChatGPT吗?本文以其中一个站点为例,对其真伪进行辨别。 其实最多只需要问两个问题,基本上就可以做出判断了。 1.你是谁? 2.列举两条2023年发生的新闻   而Ch

    2024年02月11日
    浏览(33)
  • 是不是要学习unity了?

    Unity是一款由Unity Technologies开发的跨平台游戏开发引擎。它可以用来创建2D和3D游戏,支持多种平台包括Windows、Mac、Android、iOS和主流的游戏主机,如PlayStation和Xbox。 Unity提供了丰富的工具和资源,包括可视化的编辑器、动画系统、物理引擎、音频系统等,使开发者能够快速构

    2024年02月04日
    浏览(35)
  • 运维是不是没有出路了?

    瑞典马工的​​《是时候让运维集体下岗了》一出,就让运维人为之一颤,​人人自危。文章开篇就提到:​​明人不说暗话,在云原生和DevOps成熟的今天,运维作为一个岗位和团队已经完成了历史任务,应该退出舞台了。文中​观点令人振聋发聩,虽然我们都知道,随着科

    2023年04月15日
    浏览(29)
  • AIGC是不是有点虎头蛇尾

    一、前言 2023年上半年AI与AIGC真是风风火火,不管是技术界还是资本界还是其他任何领域,如果你不知道chatgpt和AIGC,你就是个跟不上时代的人儿。如今大半年过去了,好像这个chatgpt和AIGC比没有太多的人提起,是不是有点虎头蛇尾了呢。了解本博主的人应该知道,本博主并不

    2024年02月09日
    浏览(35)
  • Java判断一个实体是不是空的

    在Java中,我们可以使用以下方法来判断一个实体是否为空: 对象是否为null 可以使用Java中的 == 运算符来判断一个对象是否为null,如果对象为null,则表示对象为空。 例如: 字符串是否为空 可以使用Java中的 isEmpty() 方法来判断一个字符串是否为空,如果字符串为空,则返回

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包