web-dev-qa-db-ja.com

DB2の場合テーブルの定義を表示します

こんにちは、私はDB2を学んでいる皆さん、テーブルを作成した後でテーブルの特性を確認する方法を知りたいと思います。

MySQLのEXPLAIN TABLEコマンドに似ています。

ありがとうございました。

18
Gladys

に加えて DESCRIBE TABLE、以下のコマンドを使用できます

DESCRIBE INDEXES FOR TABLE *tablename* SHOW DETAIL 

テーブルのインデックスに関する情報を取得します。

Linux、UNIX、およびWindows用のDb2のテーブルに関する最も包括的な詳細は、リモートクライアントから、またはローカルユーザーとしてDb2サーバーで直接実行できるdb2lookユーティリティから取得できます。このツールは、テーブルとその統計データを模倣するために必要なDDLおよびその他の情報を生成します。 Db2 11.5でのdb2lookのドキュメントは here です。

以下 db2lookコマンドはSALESDBデータベースに接続し、ORDERSテーブルを再作成するために必要なDDLステートメントを取得します

db2look -d SALESDB -e -t ORDERS
13
Fred Sobotka

これは古い質問であることは承知していますが、これで十分です。

SELECT colname, typename, length, scale, default, nulls
  FROM syscat.columns
 WHERE tabname = '<table name>'
   AND tabschema = '<schema name>'
 ORDER BY colno
9
Todd

db2look -d <db_name> -e -z <schema_name> -t <table_name> -i <user_name> -w <password>> <file_name> .sql

詳細については、以下を参照してください。

    db2look [-h]

    -d: Database Name: This must be specified

    -e: Extract DDL file needed to duplicate database
   -xs: Export XSR objects and generate a script containing DDL statements
 -xdir: Path name: the directory in which XSR objects will be placed
    -u: Creator ID: If -u and -a are both not specified then $USER will be used
    -z: Schema name: If -z and -a are both specified then -z will be ignored
    -t: Generate statistics for the specified tables
   -tw: Generate DDLs for tables whose names match the pattern criteria (wildcard characters) of the table name
   -ap: Generate AUDIT USING Statements
  -wlm: Generate WLM specific DDL Statements
  -mod: Generate DDL statements for Module
  -cor: Generate DDL with CREATE OR REPLACE clause
 -wrap: Generates obfuscated versions of DDL statements
    -h: More detailed help message
    -o: Redirects the output to the given file name
    -a: Generate statistics for all creators
    -m: Run the db2look utility in mimic mode
        -c: Do not generate COMMIT statements for mimic
        -r: Do not generate RUNSTATS statements for mimic
    -l: Generate Database Layout: Database partition groups, Bufferpools and Tablespaces
    -x: Generate Authorization statements DDL excluding the original definer of the object
   -xd: Generate Authorization statements DDL including the original definer of the object
    -f: Extract configuration parameters and environment variables
   -td: Specifies x to be statement delimiter (default is semicolon(;))
    -i: User ID to log on to the server where the database resides
    -w: Password to log on to the server where the database resides
6
user4105809

記述テーブルの構文

db2 describe table <tablename>

またはすべてのテーブルの詳細について

select * from syscat.tables

またはすべてのテーブルの詳細について

 select * from sysibm.tables
5
Fuangwith S.

そのメタデータはすべて、SYSIBM 'スキーマ'のDB2カタログテーブルに保持されます。 DB2/zメインフレーム製品とDB2/LUW分散製品では異なりますが、リリースごとに次第に近づいています。

IBMは、世界中の人がアクセスできるように、すべてのマニュアルをpublibサイトに配置します。私の専門分野であるDB2/zには、必要なページがあります ここ

参照する必要があるいくつかのテーブルがあります。

SYSTABLES        for table information.
SYSINDEXES    \
SYSINDEXPART   + for index information.
SYSKEYS       /
SYSCOLUMNS       for column information.

すべてのインフォメーションセンターのリストは here であり、DB2/LUWのバージョンが必要な場合は、それを示しているはずです。

3
paxdiablo

DB2コントロールセンターでテーブルを右クリックし、[DDLの生成...]を選択します。これにより、必要なすべての情報が得られます。

2
smoore4

以下のコマンドを使用して、DBの完全な特性を確認できます

db2look -d <DB NAme>-u walid -e -o

以下のコマンドを使用して、スキーマの完全な特性を確認できます

 db2look -d <DB NAme> -u walid -z <Schema Name> -e -o

以下のコマンドを使用して、テーブルの完全な特性を確認できます

db2look -d <DB NAme> -u walid -z <Schema Name> -t <Table Name>-e -o

詳細については、以下のリンクをご覧ください。 https://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin.doc%2Fdoc%2Fr0002051.htm

1
Dhanish Jose

Winsqlでテーブルを記述するためにこのクエリに出くわしました

select NAME,TBNAME,COLTYPE,LENGTH,REMARKS,SCALE from sysibm.syscolumns
where tbcreator = 'Schema_name' and tbname='Table_name' ;
1
Avinash

以下を試してください:

DESCRIBE SELECT * FROM TABLE_name
1
Alex GD

テーブルの構文を説明する

describe table schemaName.TableName
0
user1078825

DB2バージョン11.0

Columns:
--------
SELECT NAME,COLTYPE,NULLS,LENGTH,SCALE,DEFAULT,DEFAULTVALUE FROM SYSIBM.SYSCOLUMNS where TBcreator ='ME' and TBNAME ='MY_TABLE' ORDER BY COLNO;

Indexes:
--------
SELECT P.SPACE, K.IXNAME, I.UNIQUERULE, I.CLUSTERING, K.COLNAME, K.COLNO, K.ORDERING
FROM SYSIBM.SYSINDEXES I
    JOIN SYSIBM.SYSINDEXPART P
        ON I.NAME = P.IXNAME
        AND I.CREATOR = P.IXCREATOR
    JOIN SYSIBM.SYSKEYS K
        ON P.IXNAME = K.IXNAME
        AND P.IXCREATOR = K.IXCREATOR
WHERE I.TBcreator ='ME' and I.TBNAME ='MY_TABLE'
ORDER BY K.IXNAME, K.COLSEQ;
0
Clive Paterson