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

MySQLでビュー(VIEW)を作成する方法をわかりやすく解説

MySQLでビューを作成する方法

MySQLでビュー(VIEW)を作成するには、CREATE VIEWコマンドを使用します。ビューとは、SELECT文の実行結果を仮想的なテーブルとして定義する機能です。複雑なクエリをシンプルにしたり、特定の列だけをユーザーに公開したりする場合に非常に便利です。

CREATE VIEWの基本構文

ビューを作成する際の基本構文は以下の通りです。

CREATE VIEW yourViewName as SELECT yourColumName1, yourColumName2, yourColumName3,...... yourColumNameN from yourTableName;

サンプルテーブルの作成

上記の構文を理解するために、まずは動作確認用のテーブルを作成しましょう。以下がテーブル作成用のクエリです。

mysql> create table ViewDemo
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Age int
   -> );
Query OK, 0 rows affected (0.58 sec)

この例では、「Id」「Name」「Age」の3つの列を持つ「ViewDemo」というテーブルを作成しました。

ビューの作成

続いて、先ほどの構文を実際に使ってビューを作成します。MySQLでビューを作成するクエリは以下の通りです。

mysql> create view LookUpTable as select Id,Name from ViewDemo;
Query OK, 0 rows affected (0.15 sec)

ここでは、ViewDemoテーブルから「Id」と「Name」の2つの列のみを抽出した「LookUpTable」というビューを作成しています。「Age」列はビューに含まれていないため、このビュー経由では参照できません。

ビューが作成されたか確認する

最後に、SHOWコマンドを使ってビューが正しく作成されているかどうかを確認しましょう。クエリは以下の通りです。

mysql> show create table LookUpTable;

実行結果は以下のようになります。

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

出力結果から、LookUpTableビューがViewDemoテーブルのId列とName列を参照するSELECT文として定義されていることが確認できます。

なお、データベース内のビュー一覧を確認したい場合は「SHOW FULL TABLES WHERE Table_type = 'VIEW';」、不要になったビューを削除したい場合は「DROP VIEW ビュー名;」を使用すると便利です。

  1. MySQLコマンドラインでデータベースを作成する方法を初心者向けに解説

    MySQLコマンドラインでデータベースを作成する手順 この記事では、WindowsのコマンドプロンプトからMySQLに接続し、データベースを作成する一連の手順をスクリーンショット付きで解説します。初心者の方でも迷わず進められるよう、順番に見ていきましょう。 1. コマンドプロンプトを開く まず、コマンドプロンプトを起動します。キーボードのショートカット「Windows + R」キーを押すと、「ファイル名を指定して実行」ダイアログが表示されます。 2. 「CMD」と入力してOKをクリック 表示された入力欄に CMD と入力し、「OK」ボタンをクリックしてください。 3. コマンドプロンプトが

  2. MySQLでシーケンスを作成する方法|AUTO_INCREMENTの使い方とルールを解説

    MySQLにおけるシーケンスとは?MySQLにおける「シーケンス」とは、1(指定した場合は0)から始まり、昇順で自動生成される整数の連番のことです。多くのアプリケーションでは、レコードを一意に識別するための番号を発行する目的でシーケンスが利用されています。具体例代表的な例としては、CRMシステムの顧客ID、人事管理システムの社員番号、設備管理システムの機器番号などが挙げられます。MySQLでシーケンスを自動的に作成するには、対象のカラムにAUTO_INCREMENT属性を設定します。通常は、主キー(PRIMARY KEY)カラムに対して適用するのが一般的です。AUTO_INCREMENTを使用