MySQLでテーブル一覧を表示する「SHOW TABLES」

MySQLでテーブル一覧を表示する方法を紹介します。

【SHOW TABLES】全てのテーブルを表示する

SHOW TABLES [FROM データベース名] [LIKE 'パターン'];

全てのテーブルを表示するには、「SHOW TABLES」を使います。

例えば、「wordpress」というデータベースにあるテーブルを全て表示する場合は以下のようになります。

mysql> SHOW TABLES FROM wordpress;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+

「LIKE」句を使ってテーブル名で絞り込む

さらに、「LIKE」句を使って表示するテーブル名を絞り込むことができます。

例えば、最後に「meta」で終わるテーブルだけを表示したい場合は以下のようになります。

mysql> SHOW TABLES FORM wordpress LIKE "%meta";
+-----------------------------+
| Tables_in_wordpress (%meta) |
+-----------------------------+
| wp_commentmeta              |
| wp_postmeta                 |
| wp_spot_meta                |
| wp_termmeta                 |
| wp_usermeta                 |
+-----------------------------+

【SHOW TABLE STATUS】テーブル情報をより詳しく表示する

SHOW TABLE STATUS [FROM データベース名] [LIKE 'パターン'];

また、使わているデータベースのエンジン(Innodbなど)を含む詳細なテーブル情報を一覧表示したい場合は、「SHOW TABLE STATUS」を使います。

「SHOW TABLES」でエラーとなる場合

データベースが指定されていない場合は、以下のように「No database selected」とエラーがでます。

このエラーが表示された場合、「use」か「from」でデータベースを指定してください。

mysql> SHOW TABLES;
ERROR 1046 (3D000): No database selected

また、「From」で存在しないデータベースを指定した場合は、「Unknown database 'データベース名'」となります。

mysql> SHOW TABLES;
ERROR 1049 (42000): Unknown database 'example'

イベント