特定の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へのクエリがおすすめです。用途に応じて使い分けるとよいでしょう。
-
MySQLで特定のデータベース内にあるビューのメタデータを確認する方法
MySQLでは、INFORMATION_SCHEMA データベース内の VIEWS テーブルを参照することで、ビューのメタデータ(ビューに関する定義情報)を確認できます。このテーブルには、ビューの定義内容や作成者、更新可否などの詳細が格納されています。ここでは、「Info」という名前のビューを例に、具体的な確認方法を見ていきましょう。ビューのメタデータを取得するクエリ以下のクエリを実行すると、「query」データベース内の「Info」というビューのメタデータを表示できます。mysql> SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_
-
PHPでMySQLデータベースの一覧を取得する方法【サンプルコード付き】
利用可能なMySQLデータベースのリストを取得するには、PHPスクリプトを活用します。ここでは、基本的な取得方法から、現行のPHP環境で推奨される書き方まで、順を追って解説します。 基本的なサンプルコード 以下は、従来の mysql 拡張モジュールを使って、サーバー上の全データベース一覧を取得して表示するシンプルな例です。 <?php $con = mysql_connect("localhost", "userid", "password"); &n