各位用户为了找寻关于PostgreSQL 实现查询表字段信息SQL脚本的资料费劲了很多周折。这里教程网为您整理了关于PostgreSQL 实现查询表字段信息SQL脚本的相关资料,仅供查阅,以下为您介绍关于PostgreSQL 实现查询表字段信息SQL脚本的详细内容
查询格式:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14SELECT
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;
查询示例:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21SELECT
c.relname 表名称,
A.attname
AS
字段名称,
split_part(col_description ( A.attrelid, A.attnum ),
':'
,1)
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
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 查询某一个表中的所有字段
postgresql 查询某一个表中的所有字段,也就是查询所有的列名
? 1 2select
*
from
information_schema.columns
where
table_schema=
'public'
and
table_name=
'表名称 '
;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/londa/article/details/107810923