MySQLでテーブルを一覧表示する(SHOW TABLES)

MySQL MySQL

MySQLでテーブルを一覧表示する方法について書いています。
テーブルを一覧表示するときにはSHOW TABLESを使うと良いです。

MySQLのバージョン8.0.32で、動作を検証しています。

テーブルを一覧表示する

USEを使ってデータベースを選択した後に、SHOW TABLESコマンドでテーブルを一覧表示できます。
まず、USEtestデータベースを選択しました。

USE test

その後にテーブル一覧を下記で表示してみました。

SHOW TABLES

コマンドを実行すると、下記のようにtestデータベースのテーブルが一覧表示されます。

+----------------+
| Tables_in_test |
+----------------+
| messages       |
| prefectures    |
| users          |
+----------------+

テーブルタイプも一覧に表示する

このようにFULLを使用すると、テーブルの種類を表示してくれます。

SHOW FULL TABLES

先ほどのtestデータベース配下で実行すると、下記のようになりました。

+----------------+------------+
| Tables_in_test | Table_type |
+----------------+------------+
| messages       | BASE TABLE |
| prefectures    | BASE TABLE |
| users          | BASE TABLE |
+----------------+------------+

2カラム目にテーブルタイプが表示されるようになります。
通常のテーブルのときには「BASE TABLE」、ビューのときには「VIEW」、INFORMATION_SCHEMA テーブルのときには「SYSTEM VIEW」が出力されます。

テーブル一覧取得時にあいまい検索する

SHOW TABLESに対してLIKE句を使って、あいまい検索することができます。
例えば、文字の「fe」を含むテーブルを表示したいときには、LIKEを使って下記のようにします。

SHOW TABLES LIKE '%fe%';

そうすると、このようにテーブル名に「fe」を含んだテーブルが表示されます。

+-----------------------+
| Tables_in_test (%fe%) |
+-----------------------+
| prefectures           |
+-----------------------+

テーブル一覧取得時に検索条件をつける

テーブル一覧取得時にWHEREを使って、検索条件をつけることもできます。
例えば、下記のように使うことができます。

SHOW TABLES WHERE `Tables_in_test` = 'messages' OR `Tables_in_test` = 'users';

そうすると、下記のように条件で絞った内容が表示されました。

+----------------+
| Tables_in_test |
+----------------+
| messages       |
| users          |
+----------------+

テーブルを一覧表示する方法まとめ

今回はMySQLでテーブルを一覧表示する方法について書きました。
記事の内容をまとめると、下記のようになります。

・SHOW TABLESを使うと、テーブルを一覧表示できる。
・検索結果に対して、`LIKE`句であいまい検索できた。
・検索結果に対して、`WHERE`句で検索条件をつけることができた。

コメント

タイトルとURLをコピーしました