MySQL のテーブルの一覧を取得する

ここでは MySQL でデータベース内のテーブル一覧を取得する方法をご説明します。

SHOW TABLES でテーブル一覧を取得する

MySQL の SHOW TABLES 文を使うと、データベース内のテーブルの一覧を取得することができます。

SHOW TABLES; とだけ実行すると、今選択されているデータベースのテーブルの一覧が取得できます。


例えば、school_db データベースを選択した状態で SHOW TABLES; を実行すると以下のようになります。

SHOW TABLES;

[実行結果]

MySQL のテーブルの一覧を取得する 1


他のデータベースのテーブル一覧を取得したい時は SHOW TABLES FROM データベース名; のように指定して取得できます。

例えば、school_db データベースを選択した状態で test データベースのテーブル一覧を取得したい時は次のようにできます。

SHOW TABLES FROM test;

[実行結果]

MySQL のテーブルの一覧を取得する 2


指定した文字を含むテーブルだけを取得したい時は SHOW TABLE LIKE 'pattern'; を使って取得することができます。

例えば、school_db データベース内で、テーブル名が exam で始まるテーブルのみを取得したい場合は次のようにできます。

SHOW TABLES LIKE 'exam%';

[実行結果]

MySQL のテーブルの一覧を取得する 3


INFORMATION_SCHEMA.TABLES でテーブル一覧を取得する

MySQL の INFORMATION_SCHEMA.TABLES システムビューからも、テーブルの一覧を取得することができます。

INFORMATION_SCHEMA.TABLES には、次のようにシステム用のテーブルやビューも含まれます。

MySQL のテーブルの一覧を取得する 4


データベースを指定するには TABLE_SCHEMA = 'データベース名' のようにフィルターします。

ビューではなく、テーブルのみを取得するには TABLE_TYPE = 'BASE TABLE' のレコードを取得します。


例えば、INFORMATION_SCHEMA.TABLES から school_db データベースのテーブル一覧を取得するには次のようにできます。

SELECT 	* 
FROM 	INFORMATION_SCHEMA.TABLES 
WHERE 	TABLE_SCHEMA = 'school_db'
		AND TABLE_TYPE = 'BASE TABLE';

[実行結果]

MySQL のテーブルの一覧を取得する 5

TABLE_NAME カラムがテーブルの名前です。


以上、MySQL でデータベース内のテーブルの一覧を取得する方法ご説明しました。

© 2024 MySQL 入門