kingbase9人大金仓数据库获取表的信息及表字段的信息SQL

530 阅读1分钟

获取表字段的信息

SELECT col.COLUMN_NAME as column_name, CASE WHEN col.UDT_NAME = 'VARCHAR' THEN CONCAT( col.UDT_NAME, '(', col.character_maximum_length, ')') ELSE col.UDT_NAME END AS data_type, d.DESCRIPTION as column_comment,col.character_maximum_length as character_maximum_length, contype as column_key FROM information_schema.COLUMNS col JOIN SYS_CLASS C ON C.RELNAME = col. TABLE_NAME LEFT JOIN SYS_DESCRIPTION d ON d.OBJOID = C.OID AND d.OBJSUBID = col.ORDINAL_POSITION LEFT JOIN sys_constraint s ON C.OID = s.conrelid AND col.ORDINAL_POSITION = ANY ( conkey :: INT [] ) WHERE col.table_schema = 'public' AND col.TABLE_NAME = '你的表名' order by ordinal_position

结果如下

image.png

获取表的信息

SELECT table_name,description as table_comment FROM information_schema.TABLES col JOIN SYS_CLASS C ON C.RELNAME = col.TABLE_NAME LEFT JOIN SYS_DESCRIPTION d ON d.OBJOID = C.OID LEFT JOIN sys_constraint s ON C.OID = s.conrelid WHERE objsubid = 0 and col.table_schema = 'public' and table_name = '你的表名'

结果如下

image.png