1. 程式人生 > 資料庫 >PostgreSQL 實現查詢表字段資訊SQL指令碼

PostgreSQL 實現查詢表字段資訊SQL指令碼

查詢格式:

SELECT
  c.relname 表名稱,A.attname AS 欄位名稱,col_description(A.attrelid,A.attnum) AS 註釋,format_type ( A.atttypid,A.atttypmod ) AS 型別,CASE WHEN A.attnotnull='f' THEN '否' ELSE '是' END AS 是否必填,a.attnum 序號
FROM
 pg_class AS c,pg_attribute AS a
WHERE
 A.attrelid = C.oid 
 AND A.attnum > 0
 ORDER BY c.relname,a.attnum;

查詢示例:

SELECT
 c.relname 表名稱,split_part(col_description ( A.attrelid,A.attnum ),':',1) AS 註釋,pg_attribute AS a
WHERE
 c.relnamespace=16389
 AND c.relname not like 'v_%'
 AND c.relname not like 'pk_%'
 AND c.relname not like 'unidx%'
 AND c.relname not like '%_index'
 AND c.relname not like '%_seq'
 AND c.relname not like '%_pkey'
 AND A.attrelid = C.oid 
 AND A.attnum > 0
 ORDER BY c.relname,a.attnum;

查詢效果:

PostgreSQL 實現查詢表字段資訊SQL指令碼

補充:postgresql 查詢某一個表中的所有欄位

postgresql 查詢某一個表中的所有欄位,也就是查詢所有的列名

select * from information_schema.columns
where table_schema='public' and table_name='表名稱 ';

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。