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

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

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > 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:關鍵字]

相關下載

查看所有評論+

網友評論

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

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 色久视频| 久久青草免费线观最新 | 欧美极品在线播放 | 精品成人在线视频 | 国产精品嘿咻嘿咻在线播放 | 久久网在线| 操美女大逼视频 | 国产成人精品视频免费大全 | 亚洲国产日产韩国欧美综合 | 在线国产一区二区 | 精品国产一区二区三区国产馆 | 亚洲男人在线天堂 | 日韩不卡在线 | 国产精品手机在线亚洲 | 日韩欧美毛片免费看播放 | 亚洲精品一区二区三区在线看 | 网红毛片 | 国产一级一级一级成人毛片 | 日本特黄特色视频 | 精品极品三级久久久久 | 天天拍拍夜夜出水 | 日本韩国欧美在线观看 | 俺来也欧美亚洲a∨在线 | 久久久久久久久久免观看 | 2018久久久国产精品 | 国产成人aaa在线视频免费观看 | 亚洲国产成人久久 | 国产一级毛片大陆 | 131的美女午夜爱爱爽爽视频 | 久久影院在线 | 性色tv| 国产精品一区二区三区四区五区 | 国产精品毛片va一区二区三区 | 亚洲美色综合天天久久综合精品 | 国产成人看片免费视频观看 | 亚洲欧美卡通动漫丝袜美腿 | 精品日韩在线视频一区二区三区 | 国产三级日本三级日产三级66 | 97人摸人人澡人人人超一碰 | 狠狠色丁香久久婷婷综 | 一级特黄aaa大片免费看 |