MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

【MySQL】SHOW FULL TABLESで現在のデータベースのテーブル一覧とテーブルタイプを確認する方法

現在接続しているデータベースに含まれるテーブルの一覧を取得しつつ、それぞれが実テーブルなのかビューなのかといったテーブルタイプも一緒に確認したい場合があります。そんなときは、SHOW FULL TABLES ステートメントを使うのが最も簡単な方法です。

構文

基本的な構文は非常にシンプルで、以下のように記述するだけです。

SHOW FULL TABLES

これだけで、カレントデータベース内のすべてのテーブルとビューが、タイプ情報付きで一覧表示されます。

使用例

次の例では、現在選択されているデータベースが query です。この状態で上記のステートメントを実行すると、このデータベースに存在するテーブルの一覧と、それぞれのテーブルタイプが結果セットとして返されます。

mysql> SHOW FULL TABLES;
+-----------------------------+------------+
| Tables_in_query             | Table_type |
+-----------------------------+------------+
| accounts                    | BASE TABLE |
| address                     | BASE TABLE |
| cars                        | BASE TABLE |
| cars_avgprice               | VIEW       |
| countries                   | BASE TABLE |
| customer_view               | VIEW       |
| customers                   | BASE TABLE |
| date_time_test              | BASE TABLE |
| detail_bday                 | BASE TABLE |
| details_city                | BASE TABLE |
.
.
.
| view_student_detail         | VIEW       |
| view_student_detail_columns | VIEW       |
| websites                    | BASE TABLE |
+-----------------------------+------------+
87 rows in set (0.01 sec)

結果セットの見方

出力された結果セットには、2つの列が含まれています。

  • Tables_in_データベース名: テーブルまたはビューの名前
  • Table_type: オブジェクトの種類。BASE TABLE(実際のテーブル)または VIEW(ビュー)が表示される

このように、SHOW FULL TABLES を使えば、単なるテーブル一覧だけでなく、それが実テーブルなのかビューなのかも一目で判別できます。

応用:WHERE句で結果を絞り込む

LIKE 句や WHERE 句を組み合わせると、必要なオブジェクトだけを抽出することも可能です。

-- 名前に「customer」を含むテーブル・ビューのみ表示
mysql> SHOW FULL TABLES LIKE '%customer%';

-- ビューだけを表示したい場合
mysql> SHOW FULL TABLES WHERE Table_type = 'VIEW';

-- 実テーブルだけを表示したい場合
mysql> SHOW FULL TABLES WHERE Table_type = 'BASE TABLE';

大量のテーブルが存在するデータベースでは、このように条件を指定して絞り込むことで、目的のオブジェクトを素早く見つけられます。

  1. MySQLの一時テーブルはSHOW TABLESで確認できる?テーブル一覧に表示されない理由と対処法

    ご存じのとおり、SHOW TABLESステートメントを使えば、データベース内のテーブル一覧を簡単に確認できます。しかし、MySQLの一時テーブル(TEMPORARY TABLE)は、このリストには表示されません。言い換えると、SHOW TABLESステートメントでは一時テーブルを確認できないということです。以下の例で具体的に見ていきましょう。例:SHOW TABLESで一時テーブルを検索するここでは、「SalesSummary」という名前の一時テーブルをSHOW TABLESステートメントで取得しようとしています。mysql> SHOW TABLES LIKE %Sales%; Empt

  2. MySQLでINFORMATION_SCHEMA.TABLESを使ってテーブルの存在を確認する方法

    INFORMATION_SCHEMA.TABLESとはMySQLでデータベース内に特定のテーブルがすでに存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、データベースやテーブルなどのメタ情報を管理する特殊なスキーマであり、そこに対してクエリを実行することで、目的のテーブルが存在するかどうかを簡単に調べられます。基本構文SELECT TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE TABLE_SCHEMA = yourDatabaseNameAND TAB