*

【SQL Server 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示

公開日: : 最終更新日:2015/01/12 データベース , , , , ,

職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。

普通は設計書に記載してあることなんですが…うちの職場の設計書はメチャクチャなものでして(ノω・、) ウゥ・・・

ということで、テーブル、カラム、主キー、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での実行結果

一括で表示することができました((´^ω^))ゥ,、ゥ,、
上の画像は、Management Studioで実行した結果です。
もちろん、SQL Server 2008でも使用できます。

このSQLの使い方の応用?としては、Where句に「and a.name = ‘【調べたいカラム名】’」とか指定すれば、どのテーブルに調べたいカラムがあるのか、見つけることができるかなぁ。

Adsense

関連記事

データベース

【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S

記事を読む

データベース

【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する

VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行

記事を読む

データベース

【SQL Server 2012 Express】Windows Server 2012にインストールしてみる

Windows Server 2012にSQL Server 2012をインストールしてみる。 以

記事を読む

データベース

【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する

varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字

記事を読む

データベース

【Management Studio】テーブル単位のメモリ使用量の確認

1.Management Studioを起動し、メモリ使用量が確認したい対象サーバーへ接続 2.確

記事を読む

データベース

【SQL Server 2012】Management Studioでサンプルデータベース(mdfファイル)をアタッチ

以前、Windows Server 2012にMicrosoftR SQL ServerR 2012

記事を読む

データベース

【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定

ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv

記事を読む

データベース

【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法

SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示

記事を読む

データベース

【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回

記事を読む

データベース

【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ

バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。

記事を読む

Adsense

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑