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

MySQLで列リストを指定せずにビューを作成する方法

MySQLでビュー(VIEW)を作成する際、列のリストを明示的に指定することは必須ではありません。つまり、列名を省略してビューを作成することが可能です。本記事では、実際の例を通じて、列リストを指定しないビューの作成方法とその動作を解説します。

サンプルテーブルの確認

まず、例として使用する「student_detail」テーブルの中身を確認しておきましょう。

mysql> Select * from student_detail;
+-----------+-------------+------------+
| Studentid | StudentName | address    |
+-----------+-------------+------------+
|       100 | Gaurav      | Delhi      |
|       101 | Raman       | Shimla     |
|       103 | Rahul       | Jaipur     |
|       104 | Ram         | Chandigarh |
|       105 | Mohan       | Chandigarh |
+-----------+-------------+------------+
5 rows in set (0.17 sec)

列リストなしでビューを作成する

次のクエリでは、CREATE VIEW文において列名を一切指定せず、「View_student_detail」というビューを作成しています。SELECT句で「*」を使用することで、ベーステーブルのすべての列が自動的にビューに引き継がれます。

mysql> Create view View_student_detail AS SELECT * FROM Student_Detail;
Query OK, 0 rows affected (0.17 sec)

ポイント

上記のクエリを見るとわかるように、ビュー作成時に列名はまったく指定していません。これが「列リストなしのビュー」です。このように作成されたビューには、元となるテーブル(ベーステーブル)のすべての列がそのまま含まれます。

作成したビューへの問い合わせ

それでは、作成したビューに対してSELECTクエリを実行してみましょう。ビュー名を指定してクエリを実行すると、ビューの基となっているテーブルのすべての列とデータが取得されます。

mysql> Select * from View_student_detail;
+-----------+-------------+------------+
| Studentid | StudentName | address    |
+-----------+-------------+------------+
|       100 | Gaurav      | Delhi      |
|       101 | Raman       | Shimla     |
|       103 | Rahul       | Jaipur     |
|       104 | Ram         | Chandigarh |
|       105 | Mohan       | Chandigarh |
+-----------+-------------+------------+
5 rows in set (0.00 sec)

まとめ

このように、MySQLではビュー作成時の列リストの指定は任意であり、SELECT * を使えば列名を省略したシンプルなビュー定義が可能です。列リストを指定しない場合、ベーステーブルの全列が自動的に反映されるため、手軽にビューを作成できるというメリットがあります。一方で、ベーステーブルの構造変更がビューに直接影響する点には注意が必要です。

  1. MySQLでNVARCHAR列を作成する方法|VARCHARへの自動変換を解説

    MySQLでは、NVARCHAR()を指定してもVARCHAR()に自動的に変換されます。NVARCHARは「National Varchar(各国語対応の可変長文字列)」を意味する型名ですが、MySQLはこれを単なるVARCHARとして扱います。本記事では、NVARCHAR型の列を持つテーブルを実際に作成し、その挙動を確認していきましょう。NVARCHAR型の列を含むテーブルを作成するまず、「StudentName」という列をNVARCHAR型として持つテーブルを作成します。mysql> create table DemoTable ( StudentName NVARCHAR

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

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