【SQLServer】テーブル定義情報 / カラム一覧を確認する方法
-
カテゴリ:
- DB
-
タグ:
- #SQLServer
SQLServerでテーブル定義を確認する方法をご紹介します。
ここで言うテーブル定義とは、MySQLの「SHOW CREATE TABLE」で取得できる、カラムの商材情報一覧のようなものを指します。
-- テーブル定義取得
SELECT
O.object_id
, C.name AS column_name
, TY.name AS type
, CASE WHEN I.index_column_id is not null
THEN 'TRUE'
ELSE NULL
END AS index_column
, CASE WHEN KC.parent_object_id is not null
THEN 'TRUE'
ELSE NULL
END AS PK
, C.user_type_id
, C.max_length
, C.precision
, C.scale
, C.collation_name
, C.is_nullable
, C.is_ansi_padded
, C.is_rowguidcol
, C.is_identity
, C.is_computed
, C.is_filestream
FROM (
SELECT object_id FROM sys.objects
WHERE type = 'U'
AND name = [テーブル名] ) O
INNER JOIN
sys.columns C
ON O.object_id = C.object_id
LEFT JOIN
sys.types TY
ON C.system_type_id = TY.system_type_id
LEFT JOIN
sys.index_columns I
ON C.object_id = I.object_id
AND C.column_id = I.column_id
LEFT JOIN
sys.key_constraints KC
ON C.object_id = KC.parent_object_id
AND KC.type = 'PK'
AND I.index_id = KC.unique_index_id
;
※クエリの結果はあくまでサンプルの内容になります。
object_id | column_name | type | index_column | PK | user_type_id | max_length | precision | scale | collation_name | is_nullable | is_ansi_padded | is_rowguidcol | is_identity | is_computed | is_filestream |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1975 | ID | numeric | TRUE | TRUE | 108 | 9 | 19 | 0 | (NULL) | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
1975 | コード | varchar | TRUE | (NULL) | 167 | 10 | 0 | 0 | Japanese_CI_AS | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | 苗字 | nvarchar | (NULL) | (NULL) | 231 | 80 | 0 | 0 | Japanese_CI_AS | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | 名前 | nvarchar | (NULL) | (NULL) | 231 | 80 | 0 | 0 | Japanese_CI_AS | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | メールアドレス | varchar | (NULL) | (NULL) | 167 | 255 | 0 | 0 | Japanese_CI_AS | TRUE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | 最終ログイン日 | datetime | (NULL) | (NULL) | 61 | 8 | 23 | 3 | (NULL) | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
1975 | パスワード | varchar | (NULL) | (NULL) | 167 | 65 | 0 | 0 | Japanese_CI_AS | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | トークン | varchar | TRUE | (NULL) | 167 | 65 | 0 | 0 | Japanese_CI_AS | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
1975 | 登録者 | numeric | (NULL) | (NULL) | 108 | 9 | 19 | 0 | (NULL) | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
1975 | 登録日 | datetime | (NULL) | (NULL) | 61 | 8 | 23 | 3 | (NULL) | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
1975 | 更新者 | numeric | (NULL) | (NULL) | 108 | 9 | 19 | 0 | (NULL) | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
1975 | 更新日 | datetime | (NULL) | (NULL) | 61 | 8 | 23 | 3 | (NULL) | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
投稿日:2019-09-09
更新日:2020-08-13