postgresql中的ltree類型使用方法_PostgreSQL

來源:腳本之家  責任編輯:小易  

與Oracle中類似,%TYPE是用來獲取一個已定義變量的類型的。這樣可以方便的定義出于已有變量或字段同類型的變量。例如:do language plpgsql$declare v1 character varying(100);定義變量v1類型為變長字串declare v2 v1%type;定義變量v2與v1同類型,即變長字串beginv2:='Hello World!';給v2變量賦值raise notice '%',v2;顯示出v2的內容end$;www.anxorj.tw防采集請勿采集本網。

postgresql有很多比較妖的數據類型,ltree算一個。

去附近的學校問電腦老師

簡介

ltree是Postgresql的一個擴展類型 http://www.sai.msu.su/~megera..,在解決樹形結構的數據存儲上使用。

psql里 查看所有庫:\\l 查看所有表:\\dt 查看某個表的結構:\\d 表名 如果表位于你的自定義模式中,要把模式名加入“搜索路徑”。具體來說就是編輯postgres的配置文件:<數據目錄>\\postgres.conf

查看是否安裝了插件

直接用建表語句: create table(segment_id number,segment_key.);

你好,JSONB 同時屬于 JSON(JavaScript Object Notation)數據類型,jsonb 和 json 的輸入數據幾乎完全通用,最大的差別體現在效率上,json 存儲的數據幾乎和輸入數據一樣,存儲的是未解析的數據

select * from pg_extension where extname = 'ltree';

We can also access arbitrary rectangular slices of an array,or subarrays.An array slice is denoted by writing lower-bound:upper-bound for one or array dimensions.For example,

定義

字段的格式為:L1.L2.L3.L4.L5.L6.....

標簽是一系列字母數字字符和下劃線A-Za-z0-9_, 標簽長度必須小于256個字節。標簽路徑是由點分隔的零個或多個標簽的序列,例如L1.L2.L3,表示從分層樹的根到特定節點的路徑。 標簽路徑的長度必須小于65Kb,但最好保持在2Kb以下。

查詢

創建臨時表:

create table tmp.ltree_table(name varchar, path ltree);

寫入測試數據

insert into tmp.ltree_table values ('小明','北京.東城.小明');insert into tmp.ltree_table values ('小剛','北京.西城.小剛');insert into tmp.ltree_table values ('小紅','北京.南城.小紅');insert into tmp.ltree_table values ('小小明','北京.東城.小明.小小明');insert into tmp.ltree_table values ('小明明','北京.東城.小明.小明明');insert into tmp.ltree_table values ('小小紅','北京.東城.小紅.小小紅');insert into tmp.ltree_table values ('小紅紅','北京.東城.小紅.小紅紅');

查詢寫入的數據

 小明   | 北京.東城.小明

 小剛   | 北京.西城.小剛

 小紅   | 北京.南城.小紅

 小小明 | 北京.東城.小明.小小明

 小明明 | 北京.東城.小明.小明明

 小小紅 | 北京.南城.小紅.小小紅

 小紅紅 | 北京.南城.小紅.小紅紅

結構樹如下:

查詢所有的人和他的孩子的對應關系:

select c.name, s.name from tmp.ltree_table s join (select path ,name from tmp.ltree_table ) c on s.path <@ c.path and s.name <> c.name;

 小明 | 小小明

 小明 | 小明明

 小紅 | 小小紅

 小紅 | 小紅紅

查詢覆蓋的所有的區域:

select subltree(path,1,2) from tmp.ltree_table;

 東城

 西城

 南城

 東城

 東城

 南城

 南城

查詢所有南城的人:

select distinct s.name from tmp.ltree_table s where subltree(s.path,1,2) = '南城';

 小小紅

 小紅紅

 小紅

查詢路徑長度:

select s.name,nlevel(s.path) from tmp.ltree_table s;

 小明   |      3

 小剛   |      3

 小紅   |      3

 小小明 |      4

 小明明 |      4

 小小紅 |      4

 小紅紅 |      4

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對真格學網的支持。

postgresql是一個開源的關系數據庫管理系統(像大家熟知的Oracle,SQL Server,DB2,MySQL等,都是數據庫管理系統),免費且功能強大。Postgresql可以用來幫助我們管理存儲的數據,進行數據分析內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • postgresql中slony-i同步復制部署教程
  • postgresql 創建表分區
  • postgresql數據庫中跨庫訪問解決方案
  • ubuntu postgresql安裝和配置的介紹
  • postgresql教程(十八):客戶端命令(2)
  • postgresql教程(二):模式schema詳解
  • postgresql分頁數據重復問題的深入理解
  • postgresql教程(十三):數據庫管理詳解
  • linux centos 7源碼編譯安裝postgresql9.5
  • postgresql更新表時時間戳不會自動更新的解決方法
  • postgresql通常在IT中有什么作用
  • PostgreSQL 中 %TYPE是什么意思,如何使用
  • postgresql中視圖和表的區別和聯系是什么
  • postgresql 中,geometry類型字段怎樣插入操作
  • postgresql中怎么把一列變成多列,一定要用postgresql來寫
  • 如何查看postgresql中的表結構
  • postgreSQL中如何添加這個功能表?
  • 如何使用postgresql中json功能
  • 請教關于postgresql過程中,使用二維數組的問題
  • postgresql里邊的數組怎么操作
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess數據庫文摘數據庫其它首頁postgresqlpostgresql中slony-i同步復制部署教程postgresql 創建表分區postgresql數據庫中跨庫訪問解決方案ubuntu postgresql安裝和配置的介紹postgresql教程(十八):客戶端命令(2)postgresql教程(二):模式schema詳解postgresql分頁數據重復問題的深入理解postgresql教程(十三):數據庫管理詳解linux centos 7源碼編譯安裝postgresql9.5postgresql更新表時時間戳不會自動更新的解決方法postgresql 角色與用戶管理介紹windows下postgresql數據庫的下載windows下postgresql安裝圖解15個postgresql數據庫實用命令分postgresql中的oid和xid 說明windows postgresql 安裝圖文教程postgresql alter語句常用操作小postgresql 安裝和簡單使用postgresql 創建表分區postgresql新手入門教程postgresql教程(二十):pl/pgsql過程語言windows下postgresql安裝圖解postgresql教程(十五):系統表詳解ubuntu中卸載postgresql出錯的解決方法postgresql中調用存儲過程并返回數據集實postgresql教程(十一):服務器配置sqlite教程(七):數據類型詳解postgresql存儲過程用法實戰詳解postgresql實戰之啟動恢復讀取checkpoint在ubuntu中安裝postgresql數據庫的步驟詳
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载