【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 SYSTEM_TABLE 2019/08/09 0:00:00 2019/08/09 0:00:00 TRUE FALSE FALSE
syssqlguides 96 ​(NULL)​ 4 0 SYSTEM_TABLE 2019/08/09 0:00:00 2019/08/09 0:00:00 TRUE FALSE FALSE
sysbinsubobjs 97 ​(NULL)​ 4 0 SYSTEM_TABLE 2019/08/09 0:00:00 2019/08/09 0:00:00 TRUE FALSE FALSE
syssoftobjrefs 98 ​(NULL)​ 4 0 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 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

[スポンサーリンク]

関連記事
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
サイト内検索
プロフィール

プロフィール

[Name : じゃぶじゃぶ(@jbjb_2019)]
都内で社内SEをしているおじさん。
仕事で得られる知識だけでは限界を感じ、 WEBの勉強がてらITブログを開始。
サーバからWEBサイトまでフルスクラッチで開発しました。
現在は勉強のモチベーションを保つために活用中。
興味があることを雑記的に書いていきます。

[スポンサーリンク]

[スポンサードリンク]