SQL Serverで現在のデータベースに存在するテーブル一覧を取得するクエリ
-- データベース内に存在するテーブル一覧を取得
SELECT
TABLE_SCHEMA, -- スキーマ名(例:dbo)
TABLE_NAME, -- テーブル名
TABLE_TYPE -- テーブル種別('BASE TABLE' または 'VIEW')
FROM
INFORMATION_SCHEMA.TABLES
ORDER BY
TABLE_SCHEMA,
TABLE_NAME;
接続中のデータベース内に存在するテーブルの一覧を取得するSQLです。
テーブルのスキーマ名、テーブル名、テーブルの種類(基本テーブルまたはビュー)を確認できます。
- INFORMATION_SCHEMA.TABLES はSQL Serverが標準で提供するビューで、データベースのメタ情報にアクセスできます。
- TABLE_TYPE が ‘BASE TABLE’ の場合は物理テーブル、’VIEW’ の場合はビューを意味します。
- 特定のスキーマのみに絞りたい場合は、WHERE TABLE_SCHEMA = ‘dbo’ などの条件を追加できます。
特定のカラム名を持つテーブルを検索するクエリ
-- 指定したカラム名を含むテーブルを検索する(ここでは 'updated_at')
SELECT
t.name AS TableName,
c.name AS ColumnName
FROM
sys.tables t
INNER JOIN
sys.columns c ON t.object_id = c.object_id
WHERE
c.name = 'updated_at'
ORDER BY
t.name;
このクエリは、現在のデータベース内で updated_at というカラム名を持つテーブルを一覧表示します。
カラム名は自由に変更できるため、任意のカラムがどのテーブルに含まれているかを調査したいときに便利です。
スキーマをまたいで広く確認できるため、既存のデータ構造を把握したい場面で役立ちます。
最近更新されたレコードを確認するクエリ(例:ordersテーブル)
-- 更新日時が新しい順にレコードを確認する(ordersテーブルの例)
SELECT TOP 10 *
FROM dbo.orders
ORDER BY updated_at DESC;
このクエリは、orders テーブルの中から updated_at の値が新しい順に最大10件のレコードを取得します。
最近更新されたデータの内容や状態を素早く確認したいときに使います。
特に、運用中のシステムでの不具合調査や、直近の更新履歴を追いたいときに役立ちます。
※テーブルに updated_at カラムが存在することが前提です。
現在接続しているデータベース名を確認するクエリ
-- 現在接続しているデータベース名を確認する
SELECT DB_NAME() AS CurrentDatabase;
このクエリを実行すると、現在接続中のデータベース名が CurrentDatabase という列名で表示されます。
複数のデータベースを扱う環境では、意図したデータベースに接続しているかを確認するのに有用です。
SSMSのタブを複数開いて作業しているときなど、事故を防ぐために活用できます。



コメント