pg库sql语句导出表属性

该SQL查询用于获取名为crud_api的表的详细信息,包括表名、列名、非空约束、主键状态、字段类型、长度、自增属性、默认值以及列备注。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select
    c.relname as 表名,
    a.attname as 列名,
    (case
        when a.attnotnull = true then 'true'
        else 'false' end) as 非空,
    (case
        when (
        select
            count(pg_constraint.*)
        from
            pg_constraint
        inner join pg_class on
            pg_constraint.conrelid = pg_class.oid
        inner join pg_attribute on
            pg_attribute.attrelid = pg_class.oid
            and pg_attribute.attnum = any(pg_constraint.conkey)
        inner join pg_type on
            pg_type.oid = pg_attribute.atttypid
        where
            pg_class.relname = c.relname
            and pg_constraint.contype = 'p'
            and pg_attribute.attname = a.attname) > 0 then 'true'
        else 'false' end) as 主键,
    concat_ws('', t.typname) as 字段类型,
    (case
        when a.attlen > 0 then a.attlen
        when t.typname='bit' then a.atttypmod
        else a.atttypmod - 4 end) as 长度,
     col.is_identity    as 自增,
     col.column_default    as 默认值,
    (select description from pg_description where objoid = a.attrelid
    and objsubid = a.attnum) as 备注
from
    pg_class c,
    pg_attribute a ,
    pg_type t,
    information_schema.columns as col
where
    c.relname = 'crud_api'
    and a.attnum>0
    and a.attrelid = c.oid
    and a.atttypid = t.oid
    and col.table_name=c.relname and col.column_name=a.attname
order by
    c.relname desc,
    a.attnum asc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值