PostgreSQL导出表结构带注释

我们在平时开发过程中,经常会在字段的注释中,加上中文,解释字段的相关含义,也可以避免时间太久忘记这个字段代表什么,毕竟英文水平不好。我们可能要经常整理数据库表结构,提供他人去收集数据,但是导出表结构后,一列一列去加中文太麻烦了,就查询了一下相关资料,可以将表结构带着注释导出来。这里和大家分享一下具体方法,适用于PostgreSQL数据库:

整体流程

  1. navicat导出查询到的表结构
  2. 利用Excel进行转置

1. 导出表结构

执行如下代码:

sql 复制代码
select 
-- 这里是表描述,原本新建数据库的时候没有添加表描述,查询出来会为空,注释掉就好,有表描述的放开这条注释
-- cast(obj_description(relfilenode,'pg_class') as varchar) AS "表名描述",
a.attname AS "列名",
concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '\(.*\)')) as "字段类型",
d.description AS "备注"
from pg_class c, pg_attribute a , pg_type t, pg_description d 
-- 这里是你的表名
where  c.relname = 'breed_base'
and a.attnum>0 
and a.attrelid = c.oid 
and a.atttypid = t.oid 
and  d.objoid=a.attrelid
and d.objsubid=a.attnum
ORDER BY c.relname DESC,a.attnum ASC

然后导出当前查询结果,选择Excel格式。

Excel转置

在Excel中打开第一步的查询结果文件,选择全部文字,复制 ,然后右键选择性粘贴 ,选择转置 ,就转换成了你想要的格式,把复制之前的内容删除即可

相关推荐
dayceng10 分钟前
一则复杂 SQL 改写后有感
java·数据库·mysql
LuLaLuLaLeLLLLLL36 分钟前
MySQL 基础笔记
数据库·笔记·mysql
掘根1 小时前
【MySQL进阶】MySQL程序
数据库·mysql
Nick同学1 小时前
原生 PHP 操作数据库的方式
数据库·后端·php
hqxstudying1 小时前
JAVA面试题
java·jvm·数据库·redis·mysql·oracle
AllWe$1 小时前
十一、MySQL 事务底层与高可用原理
数据库·mysql
珹洺2 小时前
MyBatis实战指南(七)MyBatis缓存机制
java·数据库·sql·安全·缓存·oracle·mybatis
未来之窗软件服务2 小时前
thinkphp 一个系统在同一个域名下,一个文件夹下如何区分多站点——穷人的精致规划——仙盟创梦IDE
服务器·网络·数据库·仙盟创梦ide·东方仙盟·东方仙盟精致规划
亭台烟雨中2 小时前
简单实现shardingSphere + MybatisPlus分库分表2025
java·数据库·分库分表
URBBRGROUN4672 小时前
邮件限流器
java·前端·数据库