获取数据表的字段名和字段注释

本文介绍了一种在Oracle数据库中查询表字段及其注释的方法,同时指出无法通过ResultSetMetaData直接获取字段注释的问题。

1、oracle:

                SELECT t1.COLUMN_NAME,

                 t2.COMMENTS

                 FROM user_tab_columns t1,

                 user_col_comments t2

                 WHERE t1.TABLE_NAME='表名'

                 AND t1.TABLE_NAME  =t2.TABLE_NAME

                AND t1.COLUMN_NAME =t2.COLUMN_NAME;

2、通过ResultSetMetaData中获取字段名,但是不能获取字段注释

### 查询 PostgreSQL 表的字段名及其注释信息 在 PostgreSQL 中,可以通过系统表函数组合查询获取表的字段名注释等信息。以下是一个常用的 SQL 查询语句,用于获取指定表的字段名字段类型、是否非空以及字段注释: ```sql SELECT a.attname AS 字段名, format_type(a.atttypid, a.atttypmod) AS 类型, a.attnotnull AS 非空, col_description(a.attrelid, a.attnum) AS 注释 FROM pg_class AS c, pg_attribute AS a WHERE c.relname = 'sys_user' AND a.attrelid = c.oid AND a.attnum > 0; ``` 此查询通过 `pg_class` `pg_attribute` 系统表,结合 `col_description` 函数获取字段注释信息,并通过 `format_type` 函数获取字段的类型信息[^1]。 如果仅需查询字段名注释信息,可以简化查询语句如下: ```sql SELECT a.attname AS 字段名, col_description(a.attrelid, a.attnum) AS 注释 FROM pg_class AS c, pg_attribute AS a WHERE c.relname = 'sys_user' AND a.attrelid = c.oid AND a.attnum > 0; ``` 此查询专注于获取字段名注释信息,适用于需要快速查看表字段注释的场景[^2]。 若希望查询结果中包含字段类型是否非空的标志,同时保留字段注释信息,可以参考以下查询语句: ```sql SELECT a.attname AS 字段名, REPLACE(format_type(a.atttypid, a.atttypmod), 'character varying', 'varchar') AS 类型, a.attnotnull AS 非空, col_description(a.attrelid, a.attnum) AS 注释 FROM pg_class AS c, pg_attribute AS a WHERE c.relname = 'sys_user' AND a.attrelid = c.oid AND a.attnum > 0 AND col_description(a.attrelid, a.attnum) IS NOT NULL; ``` 该查询通过 `REPLACE` 函数将 `character varying` 替换为 `varchar`,以简化类型显示,并且通过 `col_description` 函数确保只返回带有注释字段[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值