我们如何通过SQL了解表(DB2)中每个列的描述?
我的数据库是DB2。
答案 0 :(得分:23)
select
tabname,
colname,
typename,
length,
scale,
default,
nulls,
identity,
generated,
remarks,
keyseq
from
syscat.columns
答案 1 :(得分:12)
- 注意:where子句区分大小写,需要为大写
select
t.table_schema as Library
,t.table_name
,t.table_type
,c.column_name
,c.ordinal_position
,c.data_type
,c.character_maximum_length as Length
,c.numeric_precision as Precision
,c.numeric_scale as Scale
,c.column_default
,t.is_insertable_into
from sysibm.tables t
join sysibm.columns c
on t.table_schema = c.table_schema
and t.table_name = c.table_name
where t.table_schema = 'MYLIB'
and t.table_name = 'MYTABLE'
order by t.table_name, c.ordinal_position
- 获取所有元表的列表:
select * from sysibm.tables
where table_schema = 'SYSIBM'
答案 2 :(得分:12)
SELECT
TABLE_CAT,
TABLE_SCHEM,
TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
TYPE_NAME,
COLUMN_SIZE,
COLUMN_TEXT
FROM "SYSIBM"."SQLCOLUMNS"
WHERE TABLE_SCHEM = 'SCHEMA'
AND TABLE_NAME = 'TABLE'
这是在DB2 V5R4上,并不是系统表而是SYSTEM VIEW
。如果您坚持在表格列表中查找它。
答案 3 :(得分:3)
SELECT COLNAME, REMARKS
FROM SYSCAT.COLUMNS
WHERE TABSCHEMA = 'MYSCHEMA'
AND TABNAME = 'MYTABLENAME'
答案 4 :(得分:2)
describe table schema.table_name ;
答案 5 :(得分:2)
我在iSeries DB2框(v5r4)上工作,它是DB2的一种特殊风格。
如果您正在使用或连接到iSeries(AS / 400),则Anton提到的链接非常出色(抱歉,还不能投票!)
Describe不适用于iSeries,但可以在其他平台上与DB2一起使用。
答案 6 :(得分:2)
select T1.name,T1.creator from sysibm.systables T1,sysibm.syscolumns
T2 where T1.name=T2.tbname and T1.creator=T2.tbccreator and
T1.creator='CREATOR NAME' and T2.name='COLUMN NAME'
答案 7 :(得分:0)
为我工作:
select * from sysibm.columns
where table_schema = 'MY_SCHEMA'