最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL 中的單引號與雙引號用法說明

 更新時間:2021年02月01日 09:22:50   作者:漿糊串磕楠  
這篇文章主要介紹了PostgreSQL 中的單引號與雙引號用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在pg中的sql,單引號用來標(biāo)識實際的值,雙引號用來標(biāo)識表名(table name)或列名(column name)等數(shù)據(jù)庫中存在的值。

如,執(zhí)行一句query:

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

加上引號的好處在于,當(dāng)在程序中進(jìn)行sql拼裝的時候,可以簡化對值的校驗,同時又可以避免sql注入。即在數(shù)據(jù)庫層面完成了事故的避免。

如,同樣執(zhí)行的query:

select ";drop table students;" from "students" where "id"='1' 

由于被引號框起來,pg只會認(rèn)為“;”也是列名的一部分,而不會將語句切斷,從而順利避免了事故。

補充:PostgreSQL 和 MySQL 關(guān)于單引號、雙引號、反單引號的區(qū)別

解決方案寫在前面:

MySQL 可以使用單引號(')或者雙引號(")表示值,但是 PG 只能用單引號(')表示值,PG 的雙引號(")是表示系統(tǒng)標(biāo)識符的,比如表名或者字段名。MySQL可以使用反單引號(`)表示系統(tǒng)標(biāo)識符,比如表名、字段名,PG 也是不支持的。

事情的起因是同事發(fā)現(xiàn)好像反單引號(`)不能在 PG 中使用。在 MySQL 和 Spark SQL 中,我覺得用反單引號是一個優(yōu)秀的習(xí)慣,所以我以為反單引號標(biāo)識表名或者字段名應(yīng)該是標(biāo)準(zhǔn)(好吧,所有的“以為”都是錯的);確實感覺三觀被顛覆。

然后就是去查了一下,下面貼出官網(wǎng)關(guān)于從 MySQL 遷移 PostgreSQL 的 wiki 的答案,大家如果有遷移上的問題(哪怕是思維上的遷移),都可以看這個鏈接。

MySQL uses ' or " to quote values (i.e. WHERE name = “John”). This is not the ANSI standard for databases. PostgreSQL uses only single quotes for this (i.e. WHERE name = ‘John'). Double quotes are used to quote system identifiers; field names, table names, etc. (i.e. WHERE “l(fā)ast name” = ‘Smith').

MySQL uses ` (accent mark or backtick) to quote system identifiers, which is decidedly non-standard.

翻譯過來就是寫在前面的解決方案。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案

    安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案

    PostgreSQL數(shù)據(jù)庫是一款高度可擴(kuò)展的開源數(shù)據(jù)庫系統(tǒng),支持復(fù)雜的查詢、事務(wù)完整性和多種數(shù)據(jù)類型由于各種業(yè)務(wù)需求,企業(yè)常常需要將數(shù)據(jù)在不同的云平臺或私有環(huán)境之間遷移,所以本文小編給大家介紹了安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案,需要的朋友可以參考下
    2023-11-11
  • 解決postgresql 自增id作為key重復(fù)的問題

    解決postgresql 自增id作為key重復(fù)的問題

    這篇文章主要介紹了解決postgresql 自增id作為key重復(fù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL拆分字符串的三種方式

    PostgreSQL拆分字符串的三種方式

    這篇文章給大家介紹了PostgreSQL拆分字符串的三種方式,字符串轉(zhuǎn)為數(shù)組,字符串轉(zhuǎn)為列表和字符串轉(zhuǎn)為數(shù)據(jù)項,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • PostgreSQL 禁用全表掃描的實現(xiàn)

    PostgreSQL 禁用全表掃描的實現(xiàn)

    這篇文章主要介紹了PostgreSQL 禁用全表掃描的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL使用MySQL作為外部表(mysql_fdw)

    PostgreSQL使用MySQL作為外部表(mysql_fdw)

    PostgreSQL 提供了一種訪問和操作外部數(shù)據(jù)源的機(jī)制,稱為外部數(shù)據(jù)包裝器,本文主要給大家介紹了PostgreSQL使用MySQL作為外部表的方法,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • postgresql設(shè)置id自增的基本方法舉例

    postgresql設(shè)置id自增的基本方法舉例

    這篇文章主要給大家介紹了關(guān)于postgresql設(shè)置id自增的基本方法,自增字段主要用于實現(xiàn)自增主鍵或生成唯一版本號,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • PostgreSQL備份和還原命令整理大全

    PostgreSQL備份和還原命令整理大全

    這篇文章主要給大家介紹了關(guān)于PostgreSQL備份和還原命令整理的相關(guān)資料,PostgreSQL是一款非常強大的開源數(shù)據(jù)庫系統(tǒng),提供種類繁多的備份選項,包括完全備份、增量備份等,需要的朋友可以參考下
    2023-07-07
  • PostgreSQL如何查詢表結(jié)構(gòu)和索引信息

    PostgreSQL如何查詢表結(jié)構(gòu)和索引信息

    文章介紹了在PostgreSQL中查詢表結(jié)構(gòu)和索引信息的幾種方法,包括使用`\d`元命令、系統(tǒng)數(shù)據(jù)字典查詢以及使用可視化工具DBeaver
    2024-12-12
  • 基于postgresql數(shù)據(jù)庫鎖表問題的解決

    基于postgresql數(shù)據(jù)庫鎖表問題的解決

    這篇文章主要介紹了基于postgresql數(shù)據(jù)庫鎖表問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法

    在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法

    這篇文章主要介紹了在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論

洞头县| 恩施市| 汉川市| 建宁县| 无锡市| 阿荣旗| 明水县| 吴江市| 长宁区| 武义县| 大城县| 西丰县| 铜川市| 贵阳市| 响水县| 长白| 丹东市| 吉木萨尔县| 临清市| 揭西县| 溆浦县| 深水埗区| 乃东县| 海盐县| 西林县| 海宁市| 柯坪县| 张家口市| 沂南县| 吕梁市| 林州市| 廊坊市| 金山区| 万载县| 封开县| 吕梁市| 开原市| 乐安县| 衡阳县| 珠海市| 曲阜市|