【SQLServer】テーブル情報を確認する方法
-
カテゴリ:
- DB
-
タグ:
- #SQLServer
SQLServerでDB内にあるテーブル一覧を取得する方法です。
MySQLで言うところの「show tables;」に対応するSQLです。
-- 全てのテーブルを表示
SELECT * FROM sys.objects;
name | object_id | principal_id | schema_id | parent_object_id | type | type_desc | create_date | modify_date | is_ms_shipped | is_published | is_schema_published |
---|---|---|---|---|---|---|---|---|---|---|---|
sysasymkeys | 95 | (NULL) | 4 | 0 | S | SYSTEM_TABLE | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | TRUE | FALSE | FALSE |
syssqlguides | 96 | (NULL) | 4 | 0 | S | SYSTEM_TABLE | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | TRUE | FALSE | FALSE |
sysbinsubobjs | 97 | (NULL) | 4 | 0 | S | SYSTEM_TABLE | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | TRUE | FALSE | FALSE |
syssoftobjrefs | 98 | (NULL) | 4 | 0 | S | SYSTEM_TABLE | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | TRUE | FALSE | FALSE |
PK__T_ORDERS__33FE64F235FAACA | 1000000 | (NULL) | 1 | 2000000001 | PK | PRIMARY_KEY_CONSTRAINT | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
PK__BATCH_JO__48F257ABCD123FE | 2000000 | (NULL) | 1 | 2000000002 | PK | PRIMARY_KEY_CONSTRAINT | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
PK__M_INSTRU__3213AF3EFD34A23 | 10000000 | (NULL) | 1 | 2000000003 | PK | PRIMARY_KEY_CONSTRAINT | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
JOB_INST_UN | 20000000 | (NULL) | 1 | 2000000004 | UQ | UNIQUE_CONSTRAINT | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
PK__T_SAMP__3214EC2700DF2177 | 30000000 | (NULL) | 1 | 2000000005 | PK | PRIMARY_KEY_CONSTRAINT | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
BATCH_JOB | 40000000 | (NULL) | 1 | 0 | U | USER_TABLE | 2019/08/09 0:00:00 | 2019/08/09 0:00:00 | FALSE | FALSE | FALSE |
テーブルには「DEFAULT_CONSTRAINT」や「FOREIGN_KEY_CONSTRAINT」、「USER_TABLE」など様々な種類のテーブルが存在します。
このままだと少し見ずらいため、普段システムで使っているデータの入れモノとして使っているテーブルのみ抽出するためには、タイプをユーザテーブルで絞る必要があります。
ユーザテーブルのみ一覧表示するには以下の方法があります。
-- ユーザテーブルを一覧表示
SELECT * FROM sys.objects WHERE type_desc = 'USER_TABLE';
-- もしくは
SELECT * FROM sys.objects WHERE type = 'U' ORDER BY name;
投稿日:2019-09-06
更新日:2020-08-13