PG 資料庫查詢欄位屬性的指令碼
要查pg 的表結構,除了登陸psql 客戶端 執行\d table_name,另一種方法就是通關SQL 查詢,
如下:看起來好像很複雜。
SELECT b.table_name,a.attname,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type ,col_description(a.attrelid,a.attnum) as comment
FROM pg_catalog.pg_attribute a,
(SELECT c.oid,c.relname as table_name
FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r'
and n.nspname = 'cbs') b
WHERE a.attrelid = b.oid
AND a.attnum > 0
AND NOT a.attisdropped
ORDER BY b.table_name,a.attnum
其中
SELECT c.oid,c.relname as table_name
FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r' -- 型別是表
and n.nspname = 'cbs_app' --schema_name
這部分查了某個schema 下面所有的表
根據表的oid 再到 pg_attribute 查對應屬性
pg_catalog.format_type(atttypid,atttypmod) 查表的欄位型別
pg_catalog.col_description(a.attrelid,a.attnum) 查欄位的comment
attnum 指定了該列在表中的位置 從上到下按1...n 排序
如下:看起來好像很複雜。
SELECT b.table_name,a.attname,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type ,col_description(a.attrelid,a.attnum) as comment
FROM pg_catalog.pg_attribute a,
(SELECT c.oid,c.relname as table_name
FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r'
and n.nspname = 'cbs') b
WHERE a.attrelid = b.oid
AND a.attnum > 0
AND NOT a.attisdropped
ORDER BY b.table_name,a.attnum
其中
SELECT c.oid,c.relname as table_name
FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r' -- 型別是表
and n.nspname = 'cbs_app' --schema_name
這部分查了某個schema 下面所有的表
根據表的oid 再到 pg_attribute 查對應屬性
pg_catalog.format_type(atttypid,atttypmod) 查表的欄位型別
pg_catalog.col_description(a.attrelid,a.attnum) 查欄位的comment
attnum 指定了該列在表中的位置 從上到下按1...n 排序
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-1721335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢查資料庫資料欄位命名規範和合法性的指令碼資料庫指令碼
- 查詢某資料庫中所有的欄位資料庫
- python獲取、修改mysql資料庫欄位屬性PythonMySql資料庫
- mybatis查詢mysql 資料庫中 BLOB欄位,結果出現亂碼MyBatisMySql資料庫
- java查詢資料庫,int型欄位為null的情況Java資料庫Null
- SQL SERVER 資料庫查詢表和欄位資訊語句SQLServer資料庫
- MongoDB之資料查詢(欄位判斷)MongoDB
- MySQL資料庫查詢多個欄位值全部相同的記錄MySql資料庫
- Laravel 查詢資料庫欄位內容是 Json 陣列時的查詢語句Laravel資料庫JSON陣列
- ORACLE查詢欄位中含有空格的資料Oracle
- 如何在Oracle資料庫中查詢表和欄位說明Oracle資料庫
- oracle會話阻塞查詢指令碼及對應欄位含義Oracle會話指令碼
- clob 欄位查詢
- hibernate怎樣處理資料庫表中的有'default'屬性的欄位.資料庫
- sqlserver查詢一個庫所有表的欄位名及欄位型別SQLServer型別
- Scala的類、屬性、物件欄位物件
- [Mysql 查詢語句]——查詢欄位MySql
- 查詢/刪除重複的資料(單個欄位和多個欄位條件)
- hive將查詢資料插入表中某欄位無資料Hive
- JPA使用pg資料庫時,bool欄位不能跨庫遷移的解決方案資料庫
- odoo欄位屬性列舉Odoo
- C#屬性與欄位C#
- pg 資料庫HA 啟動指令碼的兩個假設資料庫指令碼
- trac 平臺從 PG 資料庫轉到sqlite 的指令碼。資料庫SQLite指令碼
- 資料庫一些預設的屬性及情況設定查詢資料庫
- mongodb查詢資料庫中某個欄位中的值包含某個字串的方法MongoDB資料庫字串
- 資料庫的常規檢查指令碼資料庫指令碼
- 資料庫的檢查步驟指令碼資料庫指令碼
- 資料庫資料的查詢----連線查詢資料庫
- 通過java反射,遞迴查詢物件所有屬性,為空也要返回欄位的結構Java反射遞迴物件
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- 如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表UI資料庫
- 小程式雲開發模糊查詢,實現資料庫多欄位的模糊搜尋資料庫
- 如何查詢BAPI SD_SALESDOCUMENT_CHANGE裡欄位對應的資料庫儲存表API資料庫
- 在 with 查詢中只查詢個別欄位
- 共有的表單欄位屬性
- lucene 多欄位查詢-MultiFieldQueryParser
- SAP事務碼MM02裡的欄位屬性控制