PostgreSQL 中的引号与大小写
單雙引號
單引號用來標(biāo)識實(shí)際的值,雙引號用來標(biāo)識表名(table name)或列名(column name)等數(shù)據(jù)庫中存在的值。
select "name" from "students" where "id"='1'?
加上引號的好處在于,當(dāng)在程序中進(jìn)行sql拼裝的時(shí)候,可以簡化對值的校驗(yàn),同時(shí)又可以避免sql注入。即在數(shù)據(jù)庫層面完成了事故的避免。
大小寫
1. PostgreSQL的數(shù)據(jù)庫內(nèi)核對大小寫敏感。數(shù)據(jù)庫名,數(shù)據(jù)表名,列名區(qū)分大小寫。
2. 在PostgreSQL中,執(zhí)行SQL語句時(shí),會把所有表示關(guān)鍵字,庫名,表名,列名的字符串轉(zhuǎn)換成小寫。所以又說PostgreSQL不區(qū)分大小寫的。
3. 在書寫SQL時(shí),為了便于理解,默認(rèn):關(guān)鍵字大寫,表名首字母大寫,列名全部小寫。
示例:
CREATE DATABASE Contact; ?? /*存在一個(gè)名字叫contact的數(shù)據(jù)庫,不存在Contact數(shù)據(jù)庫*/
CREATE DATABASE contact; ? /*報(bào)錯(cuò),數(shù)據(jù)庫contact已經(jīng)存在*/
CREATE DATABASE "Contact"? /*ok,加雙引號告訴PostgreSQL,不要轉(zhuǎn)換成小寫*/
總結(jié):
一.對象名:如庫名,表名,字段名
數(shù)據(jù)庫內(nèi)核是區(qū)分大小寫的。
只是為了方便使用,數(shù)據(jù)庫在分析SQL腳本時(shí),對不加雙引號的所有對象名轉(zhuǎn)化為小寫字母。
除非你在對象名加上雙引號。
所以
1。從建表到應(yīng)用,要么都加雙引號,要么都不要加。
2。如果以上這點(diǎn)做不到,所有的對象名給我寫小寫字母。
3. 字符串要用單引號括起來,雙引號用來明確告訴數(shù)據(jù)庫不要轉(zhuǎn)換成小寫,本次要區(qū)分大小寫。
二.數(shù)據(jù)
區(qū)分大小寫?
假如LIKE '%a%' ,別指望A會出來
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的PostgreSQL 中的引号与大小写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多租户多数据源实现
- 下一篇: MySQL表碎片化(Table Frag