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)