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

MySQLビューの定義内容を確認する方法【SHOW CREATE VIEWの使い方】

MySQLで作成済みのビューがどのようなSQL定義で構成されているのかを確認したい場合には、SHOW CREATE VIEW ステートメントを使用します。このコマンドを実行すると、ビューを作成した際の元となるSELECT文や、アルゴリズム、定義者(DEFINER)、文字セットなどの情報を一覧で取得できます。

基本構文

ビューの定義を確認するための基本的な構文は以下の通りです。

SHOW CREATE VIEW ビュー名;

実際に試してみよう

1. サンプルテーブルを作成する

まずは動作確認用に、シンプルなテーブルを作成します。

mysql> CREATE TABLE DemoTable
-> (
-> StudentName varchar(20)
-> );
Query OK, 0 rows affected (0.56 sec)

2. テーブルにレコードを挿入する

INSERT文を使って、いくつかのデータを登録します。

mysql> INSERT INTO DemoTable VALUES('Chris');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO DemoTable VALUES('Robert');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT INTO DemoTable VALUES('David');
Query OK, 1 row affected (0.13 sec)

3. 登録されたデータを確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> SELECT * FROM DemoTable;

出力結果

+-------------+
| StudentName |
+-------------+
| Chris       |
| Robert      |
| David       |
+-------------+
3 rows in set (0.00 sec)

4. ビューを作成する

次に、このテーブルをもとにビューを作成します。

mysql> CREATE VIEW view_DemoTable AS SELECT StudentName FROM DemoTable;
Query OK, 0 rows affected (0.12 sec)

5. ビューの定義内容を確認する

ここが本題です。SHOW CREATE VIEWを実行すると、MySQLビューが何で構成されているかを確認できます。

mysql> SHOW CREATE VIEW view_DemoTable;

出力結果

+-------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| View              | Create View                                                                                                                  | character_set_client | collation_connection |
+-------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| view_DemoTable    | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `view_DemoTable` AS select `DemoTable`.`StudentName` AS `StudentName` from `DemoTable` | utf8 | utf8_general_ci |
+-------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set (0.00 sec)

出力結果には以下の情報が含まれています。

  • Create View: ビューを生成した実際のCREATE VIEW文。元テーブルへの参照やカラムのエイリアスも確認できます。
  • character_set_client / collation_connection: ビュー作成時に使用された文字セットと照合順序。

6. ビューのデータを確認する

最後に、作成したビューから実際にデータを取得できるか確認しておきましょう。

mysql> SELECT * FROM view_DemoTable;

出力結果

+-------------+
| StudentName |
+-------------+
| Chris       |
| Robert      |
| David       |
+-------------+
3 rows in set (0.05 sec)

まとめ

MySQLでビューの中身(定義)を確認するには SHOW CREATE VIEW ビュー名; を実行するだけです。運用中のシステムで「このビューはどのテーブル・カラムを参照しているのか」を把握したいときや、ビューの再作成・移行作業を行う際に非常に役立つコマンドなので、ぜひ覚えておきましょう。

  1. MySQLでビュー(VIEW)を作成する方法|CREATE VIEWの基本構文と実行例を解説

    MySQLのビュー(VIEW)とは?ビュー(VIEW)とは、SQLクエリの結果セットをもとに定義される「仮想テーブル」のことです。実際のデータを物理的に保存するわけではなく、元のテーブルへの参照情報のみを保持します。そのため、複雑なクエリをシンプルな名前で呼び出せるようにしたり、ユーザーに見せたい列や行だけを限定して提供したりする際に非常に便利です。MySQLでビューを作成するには、CREATE VIEW文を使用します。ビュー作成の基本構文ビューを作成するための基本構文は以下の通りです。create view yourViewName as select * from yourTableNam

  2. 自分が追加されているTwitterリストを確認する方法【PC・スマホ対応】

    Twitterの「リスト」は、お気に入りのユーザーをまとめてタイムラインをカスタマイズできる便利な機能です。この機能を活用すれば、表示したいリストを選ぶだけで、そのグループ内のアカウントのツイートだけを簡単にチェックできます。 自分でリストを作る時間がない方でも、フォローできる既存のリストは数多く存在し、さまざまなテーマに対応したものが見つかります。もしかすると、あなた自身も知らないうちに誰かのリストに登録されているかもしれません。 自分がどのリストに入っているかを確認するのはとても簡単です。思わぬ発見があるかもしれませんよ。ここでは、ブラウザとモバイルアプリから自分が追加されているTwitt