Bonjour à tous, j'apprends DB2 et je voudrais savoir comment voir les caractéristiques d'une table après en avoir créé une.
Semblable à la commande EXPLAIN TABLE dans MySQL.
Je vous remercie.
En plus de DESCRIBE TABLE, vous pouvez utiliser ce qui suit
DESCRIBE INDEXES FOR TABLE *tablename* SHOW DETAIL
pour obtenir des informations sur les index de la table.
Les informations les plus complètes sur une table sous DB2 pour Linux, UNIX et Windows peuvent être obtenues à l'aide de l'utilitaire db2look, que vous pouvez exécuter à partir d'un client distant ou directement sur le serveur DB2 en tant qu'utilisateur local. L'outil produit le DDL et d'autres informations nécessaires pour imiter les tableaux et leurs données statistiques. Les docs pour db2look dans DB2 9.5 sont ici .
La commande db2look
suivante se connecte à la base de données SALESDB et obtient les commandes DDL nécessaires pour recréer la table ORDERS.
db2look -d SALESDB -e -t ORDERS
Je sais que c'est une vieille question, mais cela fera l'affaire.
SELECT colname, typename, length, scale, default, nulls
FROM syscat.columns
WHERE tabname = '<table name>'
AND tabschema = '<schema name>'
ORDER BY colno
db2look -d <nom_base> -e -z <nom_schéma> -t <nom_table> -i <nom_utilisateur> -w <mot de passe>> <nom_fichier> .sql
Pour plus d'informations, veuillez vous reporter ci-dessous:
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
Syntaxe de la table Describe
db2 describe table <tablename>
ou Pour tous les détails de la table
select * from syscat.tables
ou Pour tous les détails de la table
select * from sysibm.tables
Toutes ces métadonnées sont contenues dans les tables du catalogue DB2 dans le SYSIBM
'schéma'. Cela varie pour le produit mainframe DB2/z et le produit distribué DB2/LUW, mais ils se rapprochent de plus en plus chaque version.
IBM place facilement tous ses manuels sur le site publib
pour que le monde entier puisse y accéder. Mon domaine d’expertise, DB2/z, contient les pages que vous souhaitez ici .
Vous aurez besoin de faire référence à un certain nombre de tables:
SYSTABLES for table information.
SYSINDEXES \
SYSINDEXPART + for index information.
SYSKEYS /
SYSCOLUMNS for column information.
La liste de tous les centres de documentation est here , ce qui devrait vous indiquer la version de DB2/LUW si cela vous intéresse.
Cliquez avec le bouton droit de la souris sur la table dans le Centre de contrôle DB2 et choisissez Générer DDL ... Cela vous donnera tout ce dont vous avez besoin et plus encore.
Décrire la syntaxe de la table
describe table schemeaName.TableName
vous pouvez utiliser la commande ci-dessous pour voir les caractéristiques complètes de DB
db2look -d <DB NAme>-u walid -e -o
vous pouvez utiliser la commande ci-dessous pour voir les caractéristiques complètes du schéma
db2look -d <DB NAme> -u walid -z <Schema Name> -e -o
vous pouvez utiliser la commande ci-dessous pour voir les caractéristiques complètes du tableau
db2look -d <DB NAme> -u walid -z <Schema Name> -t <Table Name>-e -o
vous pouvez également visiter le lien ci-dessous pour plus de détails . https://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin .doc% 2Fdoc% 2Fr0002051.htm
Je viens de rencontrer cette requête pour décrire une table dans winsql
select NAME,TBNAME,COLTYPE,LENGTH,REMARKS,SCALE from sysibm.syscolumns
where tbcreator = 'Schema_name' and tbname='Table_name' ;
Essayez ce qui suit:
DESCRIBE SELECT * FROM TABLE_name
DB2 version 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;