Oracle Database テーブルの一覧を取得する
- 作成日 2024.05.08
- 更新日 2026.05.13
- Oracle Database
- Oracle Database
Oracle Databaseで、テーブルの一覧を取得する手順を記述してます。「DBA_TABLES」を「SELECT」することで可能です。ここでは、実際に実行した結果を画像で掲載してます。
環境
- OS windows11 home
- Oracle Database 21c Express Edition
手順
テーブルの一覧を取得するには、「DBA_TABLES」を使用します。
SELECT *
FROM DBA_TABLES;実際に、確認してみます。
SELECT *
FROM DBA_TABLES;実行結果

テーブル一覧が取得できていることが確認できます。
ログインユーザーが持っているテーブル一覧
ログインしているユーザーが持っているテーブルを一覧で取得するには「USER_TABLES」を使用します。
SELECT *
FROM USER_TABLES;実行結果

ログインユーザーがアクセス可能なテーブル
ログインしているユーザーがアクセスできるテーブルを一覧で取得するには「ALL_TABLES」を使用します。
SELECT *
FROM ALL_TABLES;実行結果

テーブル名を指定して一覧を取得する
特定のテーブル名のみを確認したい場合は、「WHERE」を使用します。
SELECT *
FROM USER_TABLES
WHERE TABLE_NAME = 'TEST_TABLE';部分一致で検索したい場合は、「LIKE」を使用します。
SELECT *
FROM USER_TABLES
WHERE TABLE_NAME LIKE 'TEST%';「TEST」から始まるテーブルのみ取得できます。
テーブル一覧を名前順に並び替える
テーブル名を昇順で並び替えたい場合は、「ORDER BY」を使用します。
SELECT TABLE_NAME
FROM USER_TABLES
ORDER BY TABLE_NAME;降順で表示したい場合は、「DESC」を指定します。
SELECT TABLE_NAME
FROM USER_TABLES
ORDER BY TABLE_NAME DESC;テーブル数を確認する
現在のユーザーが保持しているテーブル数を確認するには、「COUNT」を使用します。
SELECT COUNT(*)
FROM USER_TABLES;アクセス可能な全テーブル数を確認したい場合は、以下になります。
SELECT COUNT(*)
FROM ALL_TABLES;特定ユーザーのテーブル一覧を取得する
Oracle Databaseでは、「OWNER」を指定することで特定ユーザーのテーブル一覧を取得できます。
SELECT TABLE_NAME
FROM DBA_TABLES
WHERE OWNER = 'SYSTEM';実行するには、「DBA_TABLES」を参照できる権限が必要です。
システムテーブルを除外する
システム関連のテーブルを除外して確認したい場合は、「OWNER」を条件に指定します。
SELECT OWNER, TABLE_NAME
FROM DBA_TABLES
WHERE OWNER NOT IN ('SYS', 'SYSTEM');ユーザーが作成したテーブルのみ確認したい場合に便利です。
カラム情報も確認する
テーブル一覧だけではなく、カラム情報も確認したい場合は「USER_TAB_COLUMNS」を使用します。
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM USER_TAB_COLUMNS;特定テーブルのみ確認する場合は、以下のように指定します。
SELECT COLUMN_NAME, DATA_TYPE
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TEST_TABLE';SQL Developerで確認する方法
Oracle SQL Developerを使用している場合は、GUIからテーブル一覧を確認できます。
「接続」→「対象ユーザー」→「テーブル」を開くことで、現在のテーブル一覧が表示されます。
SQLを使用しなくても確認できるため、開発環境では便利です。
-
前の記事
google map 初期位置を設定する 2024.05.07
-
次の記事
Oracle Database カラムのデフォルト値を設定する 2024.05.09
コメントを書く