欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

舉例簡單介紹PostgreSQL中的數(shù)組

 更新時間:2015年04月21日 09:28:24   投稿:goldensun  
這篇文章主要介紹了舉例簡單介紹PostgreSQL中的數(shù)組,PostgreSQL是一個高性能關系型數(shù)據(jù)庫,學習PostgreSQL將成為趨勢,需要的朋友可以參考下

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

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


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

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

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

  •     購買商品的編號
  •     數(shù)量
  •     價格

要往這個表里插入數(shù)據(jù)的 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)
);

你可使用基本的查詢語句來獲取數(shù)據(jù):

 

SELECT title, unnest(tags) items FROM products


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

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

相關文章

  • SQL基礎教程之行轉列Pivot函數(shù)

    SQL基礎教程之行轉列Pivot函數(shù)

    這篇文章主要給大家介紹了關于SQL基礎教程之行轉列Pivot函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用SQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • SQL 注入式攻擊的本質

    SQL 注入式攻擊的本質

    SQL 注入式攻擊,又是注入式攻擊,沒想到2008年這個老掉牙的東西又出來攪風攪雨
    2008-12-12
  • 關于ADOX的相關知識

    關于ADOX的相關知識

    關于ADOX的相關知識...
    2006-12-12
  • 數(shù)據(jù)庫分頁查詢方法

    數(shù)據(jù)庫分頁查詢方法

    在這里主要講解一下MySQL、SQLServer2000(及SQLServer2005)和ORCALE三種數(shù)據(jù)庫實現(xiàn)分頁查詢的方法。
    2009-07-07
  • 數(shù)據(jù)庫之Hive概論和架構和基本操作

    數(shù)據(jù)庫之Hive概論和架構和基本操作

    Hive是一個構建在Hadoop上的數(shù)據(jù)倉庫框架,最初,Hive是由Facebook開發(fā),后臺移交由Apache軟件基金會開發(fā),并做為一個Apache開源項目,感興趣的同學可以參考閱讀
    2023-04-04
  • 詳解Unique SQL原理和應用

    詳解Unique SQL原理和應用

    以一定的算法結合解析樹中的各結點,計算出來一個整數(shù)值,用來唯一標識這一類SQL,這個整數(shù)值被稱為Unique SQL ID,Unique SQL ID相同的SQL語句屬于同一個“Unique SQL”。
    2021-05-05
  • mysql與MongoDB性能對比,哪個更適合自己

    mysql與MongoDB性能對比,哪個更適合自己

    經??吹接腥擞懻摚琺ongodb性能不如MySQL,MySQL能不能代替之類的說法?,其實作為技術人,很不喜歡哪個比哪個好這種說法,基本就是挑事,我們今天一起
    2023-06-06
  • datastage server job之dsjob 命令

    datastage server job之dsjob 命令

    DataStage之dsjob命令 看了一個星期的羅胖子的語錄和視頻,荒廢了一個星期。
    2009-07-07
  • 5分鐘快速了解數(shù)據(jù)庫死鎖產生的場景和解決方法

    5分鐘快速了解數(shù)據(jù)庫死鎖產生的場景和解決方法

    這篇文章主要給大家介紹了關于如何通過5分鐘快速理解數(shù)據(jù)庫死鎖的相關資料,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • SQLServer與Access常用SQL函數(shù)區(qū)別

    SQLServer與Access常用SQL函數(shù)區(qū)別

    SQLServer Access SQL函數(shù)
    2009-06-06

最新評論