国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > PostgreSQL > 正文

舉例簡單介紹PostgreSQL中的數組

2020-10-29 21:50:12
字體:
來源:轉載
供稿:網友

 PostgreSQL 有很多豐富的開箱即用的數據類型,從標準的數字數據類型、到幾何類型,甚至網絡數據類型等等。雖然很多人會忽略這些數據類 型,但卻是我最喜歡的特性之一。而數組數據類型正如你所期望的,可以在 PostgreSQL 存儲數組數據,有了這個特性,你可以在單個表中實現以往需要多個表才能實現的存儲要求。

為什么要使用數組來存儲數據,如果你是應用開發人員,那么在數據庫中使用同樣的模型來存儲程序中的數據,何樂而不為呢。況且這樣的做法還能提升性能。下面我們將介紹如何使用 PostgreSQL 的數組類型。


假設你在一個網站上購買物品,那么你所購買的信息就可以用下面這個表來表示:
 

CREATE TABLE purchases (  id integer NOT NULL,  user_id integer,  items decimal(10,2) [100][1],  occurred_at timestamp);

在這個表中,擁有一個數組字段來保持多個商品記錄,包括:

  •     購買商品的編號
  •     數量
  •     價格

要往這個表里插入數據的 SQL 如下:
 
INSERT INTO purchases VALUES (1, 37, '{{15.0, 1.0, 25.0}, {15.0, 1.0, 25.0}}', now());
INSERT INTO purchases VALUES (2, 2, '{{11.0, 1.0, 4.99}}', now());
一個更有實際意義的例子是標簽的使用,你可以用標簽來標識購買的物品:

 

CREATE TABLE products (  id integer NOT NULL,  title character varying(255),  description text,  tags text[],  price numeric(10,2));

你可使用基本的查詢語句來獲取數據:

 

SELECT title, unnest(tags) items FROM products


你還可以使用 Postgres 的 Gin and Gist  索引來根據指定的標簽快速搜索產品:
 

-- Search where product contains tag ids 1 AND 2SELECT *FROM  productsWHERE  tags @> ARRAY[1, 2] -- Search where product contains tag ids 1 OR 2SELECT *FROM  productsWHERE  tags && ARRAY[1, 2]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长治县| 图木舒克市| 登封市| 鄢陵县| 江油市| 张掖市| 海南省| 洪江市| 深州市| 曲沃县| 柳州市| 思南县| 高阳县| 库伦旗| 扎赉特旗| 拜泉县| 汉川市| 新民市| 宣武区| 台前县| 运城市| 彭山县| 亳州市| 吴忠市| 易门县| 霞浦县| 兴安盟| 赣州市| 曲靖市| 泾川县| 迭部县| 分宜县| 九龙坡区| 花莲市| 岫岩| 东明县| 时尚| 庆元县| 昌都县| 射阳县| 阳西县|