我從.得到了答案
Select distinct(name), ColType, Length from Sysibm.syscolumns where tbname = 'employee';
一般來(lái)說(shuō),使用是最簡(jiǎn)單的。
DESCRIBE TABLE MYSCHEMA.TABLE
要么
DESCRIBE INDEXES FOR MYSCHEMA.TABLE SHOW DETAIL
等等
請(qǐng)參閱文檔: 命令
另外下面的命令工作:
describe SELECT * FROM table_name;
語(yǔ)句可以被任何其他語(yǔ)句,這對(duì)于復(fù)雜的語(yǔ)句是非常有用的。
在DB2中,在db2命令提示符處input。
db2 => describe table MyTableName
1.使用db2描述表
db2 describe table tabschema.tabname
2.使用db2描述輸出
db2 "describe select * from tabschema.tabname"
3.使用實(shí)用程序
db2look -d dbname -e -t tabname
4.在db2 中查找行
db2 "Select * from syscat.columns wher tabname='' and tabschema =''"
對(duì)于IBM DB2 10.7版本中的表描述,我嘗試了這個(gè),并且工作得很好
SELECT NAME,COLTYPE,NULLS,LONGLENGTH FROM SYSIBM.SYSCOLUMNS where TBcreator =SCHEMANAME and TBNAME =TABLENAME;
用于(as400)的php示例db2db2 查看表結(jié)構(gòu)定義,是的,這工作!
$i5 = db2_connect($database, $user, $password, array("i5_lib"=>"qsys2")); $querydesc = "select * from qsys2.syscolumns where table_schema = '".$library."' and table_name = '".$table_name."' "; $result = db2_exec($i5, $querydesc);
另外如果你只是想列出所有的表和他們的描述
$query = "select TABLE_NAME, TABLE_TEXT from systables where table_schema = '$library' "; $result = db2_exec($i5, $query);
您可以使用此查詢獲取表元數(shù)據(jù)
SELECT * FROM SYSIBM.COLUMNS WHERE TABLE_NAME = 'ASTPCLTEXT';
得到所有的表:(你可能想限制模式到你的模式)
select * from syscat.tables
獲取所有列:(其中 = )
select * from syscat.columns
使用下面的內(nèi)容來(lái)檢查單個(gè)表格的表格描述
DESCRIBE TABLE Schema Name.Table Name
join下面的表來(lái)檢查多個(gè)表的表格描述,join表格ID .和.
您還可以使用下面的命令 for table來(lái)檢查表上索引的詳細(xì)信息。 查看詳細(xì)
如何查看db2數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)
打開(kāi)db2命令窗口,使用以下命令連接到db2。
> db2 connect to DATABASE_NAME USER USERNAME USING PASSWORD
一旦連接成功,發(fā)出以下命令查看表結(jié)構(gòu)。
> db2 "describe select * from SCHEMA_NAME.TABLE_NAME"
上述命令將以表格格式顯示db2表結(jié)構(gòu)。
注意:在DB2客戶機(jī)9.7.11上
控制中心已經(jīng)有了這個(gè)。 這只是在表下面。
已經(jīng)提到的最簡(jiǎn)單的方法就是做一個(gè) TABLE
但是,你也可以從一些相同的+額外的信息
db2> SELECT * SYSCAT.TABLES db2> SELECT * FROM SYSCAT.COLUMNS
我通常使用.來(lái)查找數(shù)據(jù)庫(kù)中我已經(jīng)知道列名的相關(guān)表:)
如果你想獲得一個(gè)特定的表或整個(gè)數(shù)據(jù)庫(kù)的DDL的另一個(gè)好方法是使用
# db2look -d *dbname* -t *tablename* > tablestructure.out
這將為您生成包含特定表格的DDL腳本的“.out”文件。
# db2look -d *dbname* -e > dbstructure.out
這將生成整個(gè)數(shù)據(jù)庫(kù)的DDL作為一個(gè)單一的腳本文件,這通常用于復(fù)制數(shù)據(jù)庫(kù),“-e”表示要導(dǎo)出DDL適合在一個(gè)新的數(shù)據(jù)庫(kù)中重新創(chuàng)build完全相同的設(shè)置。
希望這可以幫助別人尋找這樣的答案:)
我正在運(yùn)行DB2 / 10.5.3,并 * from .適用于我。
但是, table .失敗并出現(xiàn)此錯(cuò)誤:
No row was found for FETCH, or ; or the of a query is an empty table. =02000
如果您使用的是Aqua Data ,只需在中寫(xiě)入 *db2 查看表結(jié)構(gòu)定義,而不是按下,按Ctrl + D。
您將能夠看到表格的描述
drop view lawmod9t.vdesc create view lawmod9t.vDesc as select upper(t.table_cat) as Catalog, upper(t.table_schem) as Schema, upper(t.table_name) as table, t.table_text as tableDesc, c.system_column_name as colname_short, c.column_name as colname_long, c.column_text as coldesc, c.Type_Name as type, c.column_Size as size from sysibm.SQLColumns c inner join sysibm.sqltables t on c.table_schem = t.table_schem and c.table_name = t.table_name select * from vdesc where table = 'YPPPOPL'
我正在使用 12.0.23,它是最新的幾個(gè)版本。 所以你的經(jīng)驗(yàn)可能比我的好。 我發(fā)現(xiàn)最好的方法是使用ERD生成器。 花了幾個(gè)小時(shí),因?yàn)橐?guī)范化不是幾乎30年前這個(gè)數(shù)據(jù)庫(kù)中使用的一個(gè)概念。 我能夠在幾個(gè)小時(shí)內(nèi)獲得所有對(duì)象的定義,每個(gè)對(duì)象都有一個(gè)文件。
OP沒(méi)有提到是否討論了DB2 / 400,但是我發(fā)現(xiàn)唯一可以得到包括列名描述的表結(jié)構(gòu)的方法是使用。
FILE() (*) (/)
這將的描述放在庫(kù)中的名為的表中。 然后你可以用下面的方法查詢:
* from /
遵循這個(gè)簡(jiǎn)單的步驟:
瀏覽器窗口。 提取(展開(kāi))它。 并提取(展開(kāi))表格列表。 所需的表并提取(展開(kāi))它。 雙擊代碼選項(xiàng),它打開(kāi)表結(jié)構(gòu)。