日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL?數組類型操作使用及特點詳解

PostgreSQL?數組類型操作使用及特點詳解

時間:2024-03-09 11:50作者:下載吧人氣:21

PostgreSQL 數組類型使用詳解

可能大家對 PostgreSQL這個關系型數據庫不太熟悉,因為大部分人最熟悉的,公司用的最多的是 MySQL

我們先對PostgreSQL數據庫 (下面簡稱 PG)簡單的介紹一下,以后有機會,再單獨寫一篇專門介紹pgSql的文章

The World's Most Advanced Open Source Relational Database

這是PG官網對自己的介紹,是的,你沒有看錯,“世界上最先進的開源關系型數據庫”。一段嚴重違反我國廣告法的話,上一個敢那么叫囂的技術是PHP,“世界上最好的語言”,然后這句話就成了碼農界最廣為人知的梗,存在于各種笑料中。

不過PG并沒有因為這樣明目張膽地自吹自擂而遭到什么抨擊或調侃,事實上,無論在務實的碼農界,抑或是講究章法的學術界,人們對PG都是贊許有加,PG是完全當得起這句話的。

下面列出一些PostgreSQL的特點

  • PostgreSQL是一種功能非常齊全關系型數據庫,由加州大學計算機系開發
  • PostgreSQL開源協議是類BSD的自有協議 ,這是一種非常友好的協議,不論是商用還是自用,或者修改代碼再起個名拿來賣錢,都沒有任何風險
  • PostgreSQL支持的數據類型非常多,除了常用的,還有枚舉類型, 幾何類型,UUID類型  , json類型 , 數組類型 等,其中數組類型 也是本篇文章的目的,介紹其中數組類型的使用
  • PostgreSQL 成立時對標的數據庫是 Oracle數據庫,所有 PostgreSQL 的功能和性能是非常強的。
  • PostgreSQL 對復雜SQL的執行,要好于MySql
  • ………………

還有很多的特性,這里只簡單的寫幾個,上面的幾個特點也是我非常在意的,之所 www.helloworld.net 此次改版把Mysql換成了PostgreSQL ,就是有這些原因。

之前很多人問過,hellworld開發者社區 改版用到了哪些技術棧,其中之一,就是把 Mysql 換成了 PostgreSQL

在改版的過程中,所有的表全部重新設計,這對于后端來說,是一個極其需要勇氣的決定,好在我們堅持下來了

在改的過程中,其中有這樣一個場景:

一篇博客,有多個標簽 ,比如 一個博客,有多線程, 并發 , 線程池 這三個標簽

對于這樣的需求,我們可以分析一下

  • 一篇博客,有多個標簽
  • 一個標簽,也可有對應多篇博客

這樣就形成了 多對多 的關系,建表的話,就會有一張關聯表,大部分會想到這樣建表

博客表: blog

標簽表: tag

標簽博客表: tag_blog

其中各表的字段,如下(簡單起見,只列出最少的列):

blog 表:

  • id 數字類型,博客的 id, 自增長的主鍵
  • title 字符串類型,博客的標題

tag表:

  • id 數字類型, 標簽的 id , 自增長的主鍵
  • name 字符串類型,標簽的名字

tag_blog

  • id 數字類型, 自增長的主鍵
  • tag_id 標簽 id (對應 tag 表中的 id )
  • blog_id 博客id (對應 blog 表中的 id )

上面這個博客標簽需求,需要 3 張表,我們知道,PostgreSQL 的列的類型是支持數組類型

我們是不是可以優化一下上面的需求,把 3 張表變成 1 張表

只保留一張 blog 表,在 blog 表中增加一列 tags , 類似就是 text[ ]

新的博客表字段如下:

blog表:

  • id 數字類型(bigint),博客的 id, 自增長的主鍵
  • title 字符串類型(text ),博客的標題
  • tags 字符串數組類型(text[ ] )

為了方便大家測試,建表SQL 如下

CREATE TABLE IF NOT EXISTS public.blog
(
id bigint NOT NULL DEFAULT nextval(‘blog_id_seq’::regclass),
title text COLLATE pg_catalog.”default”,
tags text[] COLLATE pg_catalog.”default”,
CONSTRAINT blog_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.blog
OWNER to postgres;
標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲精品久久片久久 | 俄罗斯极品美女毛片免费播放 | 成年女人在线观看片免费视频 | 欧美性生交大片免费看 | 日本无遮 | 国产亚洲精品久久综合影院 | 亚洲免费网站在线观看 | 欧美韩国日本在线 | 成人一区视频 | 三级大片在线观看 | 日本高清色本在线www | 日本免费视 | 好吊妞国产欧美日韩视频 | 69成人免费视频 | 免费的三级网站 | 成人一级网站 | 99久久99久久久精品久久 | 久久这里有精品视频 | 俄罗斯a级毛片 | 九一国产 | 国产大臿蕉香蕉大视频 | 久草视频2 | a免费毛片在线播放 | 一级国产交换配乱淫 | 亚洲综合色就色手机在线观看 | 三级毛片在线看 | 国产在线成人精品 | 日本波多野结衣在线 | xxxxxhd亚洲日本hd | 精品欧美高清不卡在线 | 久久伊人男人的天堂网站 | 波多野结衣视频免费在线观看 | 亚洲人成毛片线播放 | www欧美在线观看 | 久久精品免费全国观看国产 | www.久草视频| 亚洲国产精品激情在线观看 | 欧美另类 videos黑人极品 | 一本久久a久久精品亚洲 | 欧美va免费大片 | 亚洲欧美日韩精品久久亚洲区 |