Mysql、高斯(Gauss)数据库获取表结构

本文介绍了如何使用SQL查询从MySQL和高斯数据库获取表结构,包括列名、注释、默认值、是否允许为空以及数据类型等信息,并提供了将结果转换到Excel中的示例。

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

Mysql、高斯(Gauss)数据库获取表结构

MySQL:
获取表结构及(column_comment)注释

SELECT *
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND table_name = 'your_table';

高斯(Gauss):
获取表结构

SELECT *
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND table_name = 'your_table';

获取字段注释

select
		a.attname as column_name,
		a.attnotnull,
		d.description as column_comment 
		from pg_description d
	join pg_attribute a on
		d.objoid = a.attrelid
		and d.objsubid = a.attnum
	join pg_class c on
		a.attrelid = c.oid
	where
		c.relname = 'your_table'

结合一下:

-- aa.column_name 字段名
-- t1.column_comment 注释
-- aa.column_default 默认值
-- aa.is_nullable 是否为空
-- aa.data_type 数据类型
-- aa.character_maximum_length 字符串类型大小 
-- aa.numeric_precision, 数字类型大小
-- aa.datetime_precision 时间类型大小
SELECT  
aa.column_name,
t1.column_comment,
aa.column_default,
aa.is_nullable,
aa.data_type,
aa.character_maximum_length, 
aa.numeric_precision, 
aa.datetime_precision
FROM    INFORMATION_SCHEMA.COLUMNS as aa
left join (
	select
		a.attname as column_name,
		a.attnotnull,
		d.description as column_comment 
		from pg_description d
	join pg_attribute a on
		d.objoid = a.attrelid
		and d.objsubid = a.attnum
	join pg_class c on
		a.attrelid = c.oid
	where
		c.relname = 'your_table')t1
		on t1.column_name = aa.column_name
WHERE   TABLE_NAME = 'your_table'

拓展:
将得到得数据复制到Excel中,进行处理,即可得到想要的表结构数据
Excel处理后的数据
其中需要的处理:

C:=IF(B1:B40="NO","否","")
F:=IF(D1:D40="character varying","varying",IF(D1:D40="timestamp without time zone","timestamp",IF(D1:D40="numeric","numeric","")))
G:=F1:F40&"("&E1:E40&")"
不足:部分大小数值需要手写,也可以在sql中处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值