PostgreSQL 中的引号与大小写

单双引号

单引号用来标识实际的值,双引号用来标识表名(table name)或列名(column name)等数据库中存在的值。

select "name" from "students" where "id"='1' 

加上引号的好处在于,当在程序中进行sql拼装的时候,可以简化对值的校验,同时又可以避免sql注入。即在数据库层面完成了事故的避免。

大小写

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

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

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

示例:

CREATE DATABASE Contact;    /*存在一个名字叫contact的数据库,不存在Contact数据库*/

CREATE DATABASE contact;   /*报错,数据库contact已经存在*/

CREATE DATABASE "Contact"  /*ok,加双引号告诉PostgreSQL,不要转换成小写*/

总结:

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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是一种支持大小写敏感的标识符的数据库系统,这意味着在创建和引用对象时,大小写必须与其在数据库存储的方式完全匹配。这有时可能会导致一些问题,因为在不同的平台或环境有时可能会因大小写不同而无法正常引用对象。解决这个问题的方法如下: 1. 在创建对象时使用统一的命名规则。最好将所有的对象名称转换为小写或大写,这样就可以在所有环境使用相同的命名约定。例如,在创建表时使用以下命令: CREATE TABLE mytable (...); 2. 引用对象时使用双引号。如果您必须在对象名称使用大写字母或特殊字符,可以使用双引号将其括起来。例如,如果您必须引用名为"MyTabLE"的表,请使用以下语法: SELECT * FROM "MyTabLE"; 3. 利用PostgreSQL的别名机制。您可以为对象创建别名,从而使其在任何环境都能正常使用。使用以下语法: CREATE TABLE "mytable" (...); CREATE TABLE "MyTabLE" (...); CREATE TABLE "MYTABLE" (...); CREATE OR REPLACE VIEW MyTable AS SELECT * FROM "MYTABLE"; 在上述例子,我们在创建视图时引用了完全大写的表名作为别名,从而解决了大小写问题。这样,即使在其他环境表名的大小写不同,我们仍然可以使用这个别名来访问数据。 通过以上方法,我们可以很好地解决PostgreSQL数据库对象名大小写敏感的问题,使我们的应用程序更具通用性,更易于维护。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值