13
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Oracle】テーブルのカラム情報をSQLで取得する方法

Last updated at Posted at 2019-03-04

背景

普段の開発中の場合、SQLクライアント(GUIツール?)を使用していれば、カラム情報の取得は困らないと思います。
GUIでぱぱっと表示できます。

しかし、SQLを使って、カラム情報を取得したい状況があるかもしれません。
そんな状況があったので、せっかくなので記事に残そうと思いました。

動作確認環境

  • Oracle 11g
  • SQL Developer

SQL

SELECT
  column_name
  , data_type
  , data_length
FROM
  all_tab_columns 
WHERE
  owner = 'HOGE'
  AND table_name = 'FUGA'
ORDER BY
  column_id; 

カラム情報を確認するには、all_tab_columnsを参照します。
上の例で、WHERE句は、HOGEスキーマが所有しているFUGAテーブルを指定しています。
ORDER BY句は、項目の順番(column_id)を指定します。

SELECT句はそれぞれ、

  • column_name → 列名(カラム名)
  • data_type → 列のデータ型
  • data_length → 列の長さ

を表しています。

その他にも取得できる情報はたくさんあります。
詳しくは、ALL_TAB_COLUMNS(Oracle公式)を参考にするとよいかと思います。

終わりに

MySQLの場合は、DESCRIBE テーブル名 で取得できます。
MySQLに比べると、OracleはSQLが長くなってしまい微妙だなぁ…という印象です。

13
17
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?