【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
関連記事
-
-
【Management Studio】データベースの定義を取得する方法
あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。
-
-
【SQL Server】データベース作成日時(リストアした日付)を確認する方法
トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でリストア
バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。
-
-
【Management Studio】テーブル単位のメモリ使用量の確認
1.Management Studioを起動し、メモリ使用量が確認したい対象サーバーへ接続 2.確
-
-
【コマンドプロンプト】完成版!cmdでSQLの結果を変数に取得
以前、 【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法 を書きましたが、
-
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
-
【SQL Server 2012】Management Studioでサンプルデータベース(mdfファイル)をアタッチ
以前、Windows Server 2012にMicrosoftR SQL ServerR 2012
-
-
【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する
VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行
-
-
【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる
変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に
-
-
【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成
前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind