データベースに作成されているテーブル名と列名の一覧を取得する

ページ更新日 :
ページ作成日 :

通常は SQL にテーブル名や列名を入れて SELECT したり INSERT したりしますが、テータベースに作成されているテーブルや列の名前を SQL で取得することもできます。これができるとテーブルや列が増えても、自動でそれに追従する動的な SQL を作成することもできます。

テーブルや列の名前の一覧を取得する SQL は以下のようになります。他にも情報は取れますが、ここでは最小限の構成としています。

select
  t.name as table_name
 ,c.name as column_name
from sys.tables as t
inner join sys.columns as c
  on c.object_id = t.object_id
order by t.name, c.object_id

結果は次のように表示されます。