To get the list of table and column names in a database created

Operating environment

SQL Server
  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2014

Tested environment

SQL Server SQL Server 2008 R2

Content

通常は 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

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