MySQLビュー
MySQL CREATEVIEWステートメント
SQLでは、ビューはSQLステートメントの結果セットに基づく仮想テーブルです。
ビューには、実際のテーブルと同じように、行と列が含まれます。ビューのフィールドは、データベース内の1つ以上の実表のフィールドです。
SQLステートメントと関数をビューに追加して、データが1つのテーブルからのものであるかのようにデータを表示できます。
CREATE VIEW
ステートメントを使用してビューが作成されます。
CREATEVIEW構文
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
注:ビューには常に最新のデータが表示されます。データベースエンジンは、ユーザーがビューをクエリするたびに、ビューを再作成します。
MySQL CREATEVIEWの例
次のSQLは、ブラジルのすべての顧客を表示するビューを作成します。
例
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
上記のビューを次のようにクエリできます。
例
SELECT * FROM [Brazil Customers];
次のSQLは、「Products」テーブル内の平均価格よりも高い価格のすべての製品を選択するビューを作成します。
例
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
上記のビューを次のようにクエリできます。
例
SELECT * FROM [Products Above Average Price];
MySQLビューの更新
CREATE OR REPLACE VIEW
ビューはステートメントで更新できます。
ビューの作成または置換構文
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
次のSQLは、「City」列を「BrazilCustomers」ビューに追加します。
例
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
MySQLがビューをドロップする
DROP VIEW
ステートメントとともにビューが削除されます。
DROPVIEW構文
DROP VIEW view_name;
次のSQLは、「ブラジルの顧客」ビューを削除します。
例
DROP VIEW [Brazil Customers];