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

特定のMySQLデータベースに保存されているビューの一覧を確認する方法

MySQLでは、いくつかの異なるクエリを使って、特定のデータベースに保存されているビュー(VIEW)の一覧を簡単に確認できます。この記事では、「query」という名前のデータベースを例に、代表的な3つの方法を紹介します。

1. information_schemaを使ってビュー一覧を取得する

まずは、information_schemaデータベースのTABLESテーブルを参照する方法です。TABLE_TYPEが「VIEW」であるレコードを抽出し、TABLE_SCHEMAで対象のデータベースを指定することで、そのデータベース内のビューだけを一覧表示できます。

mysql> SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_TYPE LIKE 'view' AND TABLE_SCHEMA LIKE 'query';
+-----------------------------+
| TABLE_NAME                  |
+-----------------------------+
| customer_view               |
| first_view                  |
| info                        |
| info_less                   |
| view_detail                 |
| view_student_detail         |
| view_student_detail_columns |
+-----------------------------+
7 rows in set (0.01 sec)

2. SHOW FULL TABLESステートメントを使う

よりシンプルな方法として、SHOW FULL TABLESステートメントを使用する方法があります。IN句でデータベース名を指定し、WHERE句でTABLE_TYPEが「VIEW」のものだけに絞り込むことで、ビューのみを表示できます。この方法では、テーブル名と種別(Table_type)が並んで表示されるため、視覚的にも分かりやすいのが特徴です。

mysql> SHOW FULL TABLES IN query WHERE TABLE_TYPE LIKE 'VIEW';
+-----------------------------+------------+
| Tables_in_query             | Table_type |
+-----------------------------+------------+
| customer_view               | VIEW       |
| first_view                  | VIEW       |
| info                        | VIEW       |
| info_less                   | VIEW       |
| view_detail                 | VIEW       |
| view_student_detail         | VIEW       |
| view_student_detail_columns | VIEW       |
+-----------------------------+------------+
7 rows in set (0.01 sec)

3. スキーマ名も一緒に取得する

SELECT文にTABLE_SCHEMAカラムを含めると、各ビューがどのデータベース(スキーマ)に属しているのかを同時に確認できます。複数のデータベースを扱う場合や、結果を他の用途で利用したい場合に便利です。

mysql> SELECT TABLE_SCHEMA, TABLE_NAME
    -> FROM information_schema.tables
    -> WHERE TABLE_TYPE LIKE 'VIEW' AND TABLE_SCHEMA = 'query';
+--------------+-----------------------------+
| TABLE_SCHEMA | TABLE_NAME                  |
+--------------+-----------------------------+
| query        | customer_view               |
| query        | first_view                  |
| query        | info                        |
| query        | info_less                   |
| query        | view_detail                 |
| query        | view_student_detail         |
| query        | view_student_detail_columns |
+--------------+-----------------------------+
7 rows in set (0.05 sec)

まとめ

いずれの方法でも同じ結果が得られますが、手軽さを重視するならSHOW FULL TABLES、柔軟な条件指定や他の情報との組み合わせが必要ならinformation_schemaへのクエリがおすすめです。用途に応じて使い分けるとよいでしょう。

  1. MySQLで特定のデータベース内にあるビューのメタデータを確認する方法

    MySQLでは、INFORMATION_SCHEMA データベース内の VIEWS テーブルを参照することで、ビューのメタデータ(ビューに関する定義情報)を確認できます。このテーブルには、ビューの定義内容や作成者、更新可否などの詳細が格納されています。ここでは、「Info」という名前のビューを例に、具体的な確認方法を見ていきましょう。ビューのメタデータを取得するクエリ以下のクエリを実行すると、「query」データベース内の「Info」というビューのメタデータを表示できます。mysql> SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_

  2. PHPでMySQLデータベースの一覧を取得する方法【サンプルコード付き】

    利用可能なMySQLデータベースのリストを取得するには、PHPスクリプトを活用します。ここでは、基本的な取得方法から、現行のPHP環境で推奨される書き方まで、順を追って解説します。 基本的なサンプルコード 以下は、従来の mysql 拡張モジュールを使って、サーバー上の全データベース一覧を取得して表示するシンプルな例です。 <?php     $con = mysql_connect("localhost", "userid", "password");   &n