Представления MySQL
Оператор MySQL CREATE VIEW
В SQL представление — это виртуальная таблица, основанная на наборе результатов оператора SQL.
Представление содержит строки и столбцы, как настоящая таблица. Поля в представлении — это поля из одной или нескольких реальных таблиц в базе данных.
Вы можете добавлять операторы и функции SQL в представление и представлять данные так, как если бы они поступали из одной таблицы.
Представление создается с CREATE VIEW
оператором.
CREATE VIEW Синтаксис
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Примечание. В представлении всегда отображаются актуальные данные! Механизм базы данных воссоздает представление каждый раз, когда пользователь запрашивает его.
MySQL CREATE VIEW Примеры
Следующий SQL создает представление, которое показывает всех клиентов из Бразилии:
Пример
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
Мы можем запросить представление выше следующим образом:
Пример
SELECT * FROM [Brazil Customers];
Следующий SQL создает представление, которое выбирает каждый продукт в таблице «Товары» с ценой выше средней:
Пример
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 добавляет столбец «Город» в представление «Клиенты из Бразилии»:
Пример
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
MySQL отбрасывает представление
Представление удаляется с DROP VIEW
оператором.
DROP VIEW Синтаксис
DROP VIEW view_name;
Следующий SQL удаляет представление «Клиенты из Бразилии»:
Пример
DROP VIEW [Brazil Customers];