如何查看DB2 Table结构

Amb*_*ath 42 db2

如何在DB2数据库中查看表结构

Amb*_*ath 53

我得到了答案 sysibm.syscolumns

Select distinct(name), ColType, Length from Sysibm.syscolumns where tbname = 'employee';
Run Code Online (Sandbox Code Playgroud)

  • 它看起来可能因版本而异.我们正在运行V7R1,表是`SYSIBM.COLUMNS`.列也不同,所以我使用`DSPFFD FILE(SYSIBM/COLUMNS)`来找到正确的列 (4认同)
  • 添加了“order by COLNO”,因为输出顺序与实际列顺序不同。**从 Sysibm.syscolumns 中选择不同的(名称)、COLNO、ColType、长度,其中 tbname = 'EMPLOYEE' 按 COLNO 排序** (2认同)

Ian*_*vde 22

通常,最简单的方法是使用DESCRIBE.

DESCRIBE TABLE MYSCHEMA.TABLE
Run Code Online (Sandbox Code Playgroud)

要么

DESCRIBE INDEXES FOR MYSCHEMA.TABLE SHOW DETAIL
Run Code Online (Sandbox Code Playgroud)

等等

请参阅文档: DESCRIBE命令

  • 我尝试执行 DESCRIBE TABLE 语句,但出现错误:11:42:25 [DESCRIBE - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] 在“描述 ”。预期的标记可能包括:“JOIN <joined_table>”.. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.127 ... 1 条语句执行,0 行受影响,执行/获取时间:0.000 /0.000 sec [0 成功,0 警告,1 错误] 我在 DBVisualizer 上运行它。请指教 (2认同)
  • IBM DB2没有响应该查询!它说-错误:DB21033E该命令对此DB2数据库服务器无效。 (2认同)

小智 8

在 DB2 中,在 db2 命令提示符下输入。

  db2  =>  describe  table MyTableName
Run Code Online (Sandbox Code Playgroud)


小智 6

以下命令也有效:

describe SELECT * FROM table_name;
Run Code Online (Sandbox Code Playgroud)

select 语句可以替换为任何其他 select 语句,这对于例如带有 select 的复杂插入非常有用。


fab*_*fas 6

如何查看db2数据库的表结构

打开db2命令窗口,使用以下命令连接到 db2。

> db2 connect to DATABASE_NAME USER USERNAME USING PASSWORD
Run Code Online (Sandbox Code Playgroud)

连接成功后,发出以下命令来查看表结构。

> db2 "describe select * from SCHEMA_NAME.TABLE_NAME"
Run Code Online (Sandbox Code Playgroud)

上面的命令将以表格格式显示 db2 表结构。

注意:在 DB2 客户端 9.7.11 上测试


Vin*_*nit 5

对于 IBM DB2 10.7 版本中的表格描述,我试过这个,效果很好

SELECT NAME,COLTYPE,NULLS,LONGLENGTH FROM SYSIBM.SYSCOLUMNS where TBcreator =SCHEMANAME and TBNAME =TABLENAME;
Run Code Online (Sandbox Code Playgroud)