Create view sql: SQL CREATE VIEW, REPLACE VIEW, DROP VIEW Statements
Содержание
SQL — оператор CREATE VIEW
SQL > Язык определения данных (DDL) >
Заявление о создании представления
Представления можно рассматривать как виртуальные таблицы. Вообще говоря, таблица имеет набор определений и физически хранит данные. Представление также имеет набор определений, который строится поверх таблицы (таблиц) или другого представления (представлений) и физически не хранит данные.
Синтаксис создания вида следующий:
CREATE VIEW «VIEW_NAME» КАК «оператор SQL»;
«Выражение SQL» может быть любым из выражений SQL, которые мы обсуждали в этом руководстве.
Для иллюстрации рассмотрим простой пример. Скажем, у нас есть следующая таблица:
Таблица Клиент
Имя столбца | Тип данных |
Имя_имя | символов (50) |
Фамилия | символов (50) |
Адрес | символов (50) |
Город | char(50) |
Страна | char(25) |
Birth_Date | datetime |
, и мы хотим создать представление с именем V_Customer , содержащее только имя First_Name,
Столбцы Last_Name и Country из этой таблицы мы должны ввести
СОЗДАТЬ ВИД V_Customer
КАК ВЫБРАТЬ Имя, Фамилия, Страна
ОТ Заказчика;
Теперь у нас есть представление с именем V_Customer со следующей структурой:
Вид V_Customer
Имя столбца | Тип данных |
Fi rst_Name | char(50) |
Last_Name | char(50) |
Country | char(25) |
Мы также можем использовать представление для объединения двух таблиц. В этом случае пользователи видят только одно представление, а не две таблицы, и операторы SQL, которые им необходимо вводить, становятся намного проще. Допустим, у нас есть следующие две таблицы:
Таблица Store_Information
Лос-Анджелес | 1500 | 19 января99 |
Сан-Диего | 250 | 07 января 1999 |
Лос-Анджелес | 30 0 | 8 января 1999 года |
Бостон | 700 | 8 января 1999 года |
Таблица География
Восток | Бостон |
Восток | Нью-Йорк |
Запад | Лос-Анджелес |
Запад | Сан-Диего |
, и мы хотим создать представление, в котором есть информация о продажах по регионам. Мы выполним следующий оператор SQL:
СОЗДАТЬ ВИД V_REGION_SALES
AS SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
ОТ География A1, Store_Information A2
ГДЕ A1.Store_Name = A2.Store_Name
СГРУППИРОВАТЬ ПО A1.Имя_Региона;
Это дает нам представление, V_REGION_SALES , который был определен для хранения продаж по записям регионов. Если мы хотим узнать содержимое этого представления, мы вводим,
ВЫБЕРИТЕ * ИЗ V_REGION_SALES;
Результат:
РЕГИОН | ПРОДАЖА |
Восток | 700 |
Запад  | 2050 |
Далее: Индекс SQL
Политика конфиденциальности О Контакты
Руководство по созданию представления MySQL с примерами
Резюме : в этом руководстве вы узнаете, как использовать MySQL CREATE VIEW
оператор для создания нового представления в базе данных.
Введение в MySQL
Оператор CREATE VIEW
Оператор CREATE VIEW
создает новое представление в базе данных. Вот основной синтаксис оператора CREATE VIEW
:
CREATE [OR REPLACE] VIEW [имя_базы_данных.]имя_представления [(список_столбцов)] КАК оператор выбора; Язык кода: SQL (язык структурированных запросов) (sql)
В этом синтаксисе:
Сначала укажите имя представления, которое вы хотите создать после СОЗДАТЬ ПРОСМОТР
ключевых слов. Имя представления уникально в базе данных. Поскольку представления и таблицы в одной и той же базе данных используют одно и то же пространство имен, имя представления не может совпадать с именем существующей таблицы.
Во-вторых, используйте параметр ИЛИ ЗАМЕНИТЬ
, если вы хотите заменить существующее представление, если оно уже существует. Если представление не существует, ИЛИ ЗАМЕНИТЬ
не действует.
В-третьих, укажите список столбцов для представления. По умолчанию столбцы представления получаются из списка выбора Оператор SELECT
. Однако вы можете явно указать список столбцов для представления, указав их в круглых скобках после имени представления.
Наконец, укажите оператор SELECT
, определяющий представление. Оператор SELECT
может запрашивать данные из таблиц или представлений. MySQL позволяет вам использовать предложение ORDER BY
в операторе SELECT
, но игнорирует его, если вы выбираете из представления запрос, который имеет собственное предложение ORDER BY
.
По умолчанию оператор CREATE VIEW
создает представление в текущей базе данных. Если вы хотите явно создать представление в данной базе данных, вы можете указать имя представления с именем базы данных.
MySQL
CREATE VIEW
примеры
Давайте рассмотрим пример использования оператора CREATE VIEW
для создания новых представлений.
1) Пример создания простого представления
Давайте посмотрим на таблицу orderDetails
из примера базы данных:
Этот оператор использует оператор CREATE VIEW
для создания представления, представляющего общий объем продаж по заказу.
СОЗДАТЬ ВИД продажаЗаказать как ВЫБИРАТЬ номер заказа, СУММ(количествоЗаказан * ценаКаждый) всего ОТ Информация для заказа СГРУППИРОВАТЬ по порядковому номеру ORDER BY total DESC; Язык кода: SQL (язык структурированных запросов) (sql)
Если вы используете команду SHOW TABLE
для просмотра всех таблиц в classicmodels
, вы увидите, что представление salesPerOrder
отображается в списке.
ШОУ СТОЛЫ; Язык кода: SQL (язык структурированных запросов) (sql)
Это связано с тем, что представления и таблицы используют одно и то же пространство имен, как упоминалось ранее.
Чтобы узнать, какой объект является представлением или таблицей, используйте команду SHOW FULL TABLES
следующим образом:
SHOW FULL TABLES; Язык кода: SQL (язык структурированных запросов) (sql)
Столбец table_type
в результирующем наборе указывает тип объекта: представление или таблица (базовая таблица).
Если вы хотите запросить общий объем продаж для каждого заказа на продажу, вам просто нужно выполнить простую инструкцию SELECT
для представления SalePerOrder
следующим образом:
SELECT * FROM salePerOrder; Язык кода: SQL (язык структурированных запросов) (sql)
2) Создание представления на основе другого примера представления
MySQL позволяет создавать представления на основе другого представления.
Например, вы можете создать представление с именем bigSalesOrder
на основе представления salesPerOrder
для отображения всех заказов на продажу, общая сумма которых превышает 60 000
, следующим образом:
CREATE VIEW bigSalesOrder AS ВЫБИРАТЬ номер заказа, ОКРУГЛ(всего,2) как итог ОТ продажаЗаказ ГДЕ всего > 60000; Язык кода: SQL (язык структурированных запросов) (sql)
Теперь вы можете запросить данные из bigSalesOrder
вид следующим образом:
SELECT номер заказа, общий ОТ большойПродажныйЗаказ; Язык кода: SQL (язык структурированных запросов) (sql)
3) Пример создания представления с объединением
В следующем примере используется оператор CREATE VIEW
для создания представления на основе нескольких таблиц. Он использует предложения INNER JOIN
для соединения таблиц.
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОСМОТР customerOrders AS ВЫБИРАТЬ номер заказа, Имя Клиента, СУММ(количествоЗаказан * ценаКаждый) всего ОТ Информация для заказа INNER JOIN заказы o USING (orderNumber) ВНУТРЕННЕЕ ПРИСОЕДИНЯЙТЕСЬ к клиентам, ИСПОЛЬЗУЯ (customerNumber) СГРУППИРОВАТЬ ПО порядковому номеру; Язык кода: SQL (язык структурированных запросов) (sql)
Этот оператор выбирает данные из представления customerOrders
:
SELECT * FROM customerOrders ORDER BY total DESC; Язык кода: SQL (язык структурированных запросов) (sql)
На этом рисунке показан частичный вывод:
4) Пример создания представления с подзапросом
В следующем примере для создания представления используется оператор CREATE VIEW
. чей ВЫБРАТЬ 9Оператор 0265 использует подзапрос. Представление содержит продукты, покупные цены которых выше, чем средняя цена всех продуктов.
CREATE VIEW вышеAvgProducts AS ВЫБИРАТЬ код продукта, наименование товара, купитьЦена ОТ продукты ГДЕ купитьЦена > ( ВЫБИРАТЬ СРЕДНЯЯ (цена покупки) ОТ продукты) ЗАКАЗАТЬ ПО buyPrice DESC; Язык кода: SQL (язык структурированных запросов) (sql)
Этот запрос данных из вышеAvgProducts
выглядит следующим образом:
SELECT * FROM вышеAvgProducts; Язык кода: SQL (язык структурированных запросов) (sql)
5) Пример создания представления с явными столбцами представления
Этот оператор использует оператор CREATE VIEW
для создания нового представления на основе таблиц клиентов и заказов с явные столбцы представления:
CREATE VIEW customerOrderStats ( Имя Клиента , заказКоличество ) КАК ВЫБИРАТЬ Имя Клиента, COUNT(номер заказа) ОТ клиенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ заказы USING (customerNumber) СГРУППИРОВАТЬ ПО customerName; Язык кода: SQL (язык структурированных запросов) (sql)
Этот запрос возвращает данные из представления customerOrderStats
:
SELECT Имя Клиента, заказКоличество ОТ клиентOrderStats СОРТИРОВАТЬ ПО количество заказов, Имя Клиента; Язык кода: SQL (язык структурированных запросов) (sql)
В этом руководстве мы показали, как использовать оператор MySQL CREATE VIEW
для создания представлений в базе данных.