【SQL Server 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示
職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。
普通は設計書に記載してあることなんですが…うちの職場の設計書はメチャクチャなものでして(ノω・、) ウゥ・・・
ということで、テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無をSQLで一覧を表示してみました。
USE 【調べたいデータベース名】;SELECT e.name AS ‘テーブル名’
,a.name AS ‘カラム名’
,case when d.name is not null
then ‘○’
else null
end as ‘主キー’
,case when a.is_nullable = 0
then ‘有’
else NULL
end as NULL制約
,b.name as ‘データ型’
,a.max_length as ‘長さ’
,case when c.index_column_id is not null
then ‘○’
else null
end as ‘INDEX’
from sys.columns as a LEFT OUTER JOIN sys.types as b
ON a.system_type_id = b.system_type_id
and b.schema_id = ‘4’LEFT OUTER JOIN sys.index_columns as c
ON a.object_id = c.object_id
and a.column_id = c.column_idLEFT OUTER JOIN sys.key_constraints as d
ON a.object_id = d.parent_object_id
and a.column_id = c.column_id
,sys.tables as e
where a.object_id = e.object_id
order by e.name,a.column_id,c.index_column_id
【調べたいデータベース名】の所にデータベース名を入れて、SQLを実行。
一括で表示することができました((´^ω^))ゥ,、ゥ,、
上の画像は、Management Studioで実行した結果です。
もちろん、SQL Server 2008でも使用できます。
このSQLの使い方の応用?としては、Where句に「and a.name = ‘【調べたいカラム名】’」とか指定すれば、どのテーブルに調べたいカラムがあるのか、見つけることができるかなぁ。
Adsense
関連記事
-
【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法
SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示
-
【Management Studio】テーブル単位のメモリ使用量の確認
1.Management Studioを起動し、メモリ使用量が確認したい対象サーバーへ接続 2.確
-
【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ
バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。
-
【Management Studio】Microsoft SQL Server 2012 ExpressにManagement Studio のインストール方法。
前回、Windows Server 2012にSQL Server 2012 Expressをインス
-
【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる
変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に
-
【SQL Server】バックアップ取得日を確認する方法
前回の記事で、SQL Serverのデータベースのリストアした日付を確認するSQLを作りましたが、今
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成
前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind
-
【レプリケーション】SQL Server 2012 Expressでレプリケーション
Windows Server 2012のSQL Server 2012 Expressを二台用意して
-
【SQL Server 2012 Express】Windows Server 2012にインストールしてみる
Windows Server 2012にSQL Server 2012をインストールしてみる。 以