表の列定義を確認する方法

Oracle Databaseにおいて、SQL*Plus上から表の列定義を確認する方法を解説します。

 SQL*Plusで表の列定義を確認する方法

DBを操作している中で「このテーブルのカラム名なんだったっけ」と思うこともあるかと思います。

そういった際に手っ取り早く確認できるのがDESCコマンドになります。

DESCコマンドは以下の形式で使用します。

DESC <テーブル名>

ちなみにDESCはDESCRIBEの略で短縮しないでDESCRIBE テーブル名でも使用できます。


 使用例

使用例としてdba_usersテーブルの列定義を調べてみます。

SQL> desc dba_users
 名前                                     NULL?       型
 ---------------------------------------- ----------- ---------------------------------
 USERNAME                                 NOT NULL    VARCHAR2(128)
 USER_ID                                  NOT NULL    NUMBER
 PASSWORD                                             VARCHAR2(4000)
 ACCOUNT_STATUS                          NOT NULL    VARCHAR2(32)
 LOCK_DATE                                            DATE
 EXPIRY_DATE                                         DATE
 DEFAULT_TABLESPACE                      NOT NULL    VARCHAR2(30)
 TEMPORARY_TABLESPACE                 NOT NULL    VARCHAR2(30)
 LOCAL_TEMP_TABLESPACE                                VARCHAR2(30)
 CREATED                                  NOT NULL    DATE
 PROFILE                                  NOT NULL    VARCHAR2(128)
 INITIAL_RSRC_CONSUMER_GROUP                       VARCHAR2(128)
 EXTERNAL_NAME                                        VARCHAR2(4000)
 PASSWORD_VERSIONS                                    VARCHAR2(17)
 EDITIONS_ENABLED                                    VARCHAR2(1)
 AUTHENTICATION_TYPE                                  VARCHAR2(8)
 PROXY_ONLY_CONNECT                                   VARCHAR2(1)
 COMMON                                              VARCHAR2(3)
 LAST_LOGIN                                          TIMESTAMP(9) WITH TIME ZONE
 ORACLE_MAINTAINED                                   VARCHAR2(1)
 INHERITED                                            VARCHAR2(3)
 DEFAULT_COLLATION                                    VARCHAR2(100)
 IMPLICIT                                            VARCHAR2(3)
 ALL_SHARD                                            VARCHAR2(3)
 EXTERNAL_SHARD                                       VARCHAR2(3)
 PASSWORD_CHANGE_DATE                                 DATE
 MANDATORY_PROFILE_VIOLATION                       VARCHAR2(3)