Введение в Представления в MySQL

Представление SQL - это не что иное, как виртуальная таблица базы данных. Представление содержит поля, подобные реальной таблице, но эти поля взяты из одной или нескольких таблиц в базе данных, которая выполняется путем выполнения нескольких запросов MySQL. Мы можем выполнять такие операции, как предложения WHERE и JOIN в виртуальных таблицах. С другой стороны, VIEW - это не что иное, как запросы SELECT.

Синтаксис:

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;

  • «CREATE VIEW view_name» приказывает MySQL создать представление / виртуальную таблицу с именем view_name.
  • Оператор «AS SELECT column1, column2 FROM table» извлекает column1 и column2 из реальной таблицы. Затем он сохраняет эти поля в виртуальной таблице.

Как создать представления в MySQL?

Давайте создадим одну таблицу клиентов со следующими атрибутами:

Пользовательский ИД Имя покупателя Contact_no Эл. адрес Purchased_amount город
184 Рави Кумар 9887463893 8000, 00 Kolkata
+987 Виная Дас 9839878678 12000, 00 Дели
452 K.Amarnath 7598759387 15000, 00 Kolkata
+874 Абхинаш Десаи 7675878798 5000, 00 Mumbai

Мы создадим одну таблицу cutomser_archive с нашим обязательным атрибутом.

Запрос № 1

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;

Выход:

Пользовательский ИД Имя покупателя Contact_no город
184 Рави Кумар 9887463893 Kolkata
+987 Виная Дас 9839878678 Дели
452 K.Amarnath 7598759387 Kolkata
+874 Абхинаш Десаи 7675878798 Mumbai

Мы также можем применить условие к этому запросу при создании представления.

Запрос № 2

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Выход:

Пользовательский ИД Имя покупателя Contact_no Purchased_amount город
+987 Виная Дас 9839878678 12000, 00 Дели
452 K.Amarnath 7598759387 15000, 00 Kolkata

Различные параметры просмотра в MySQL

Ниже приведены различные параметры просмотра в MySQL, которые объясняются более подробно.

1. DROP: представление / виртуальная таблица может быть удалена с помощью команды DROP VIEW. Если мы хотим удалить таблицу customer_archive,

Синтаксис:

DROP VIEW customer_archive;

2. СОЗДАТЬ ИЛИ ЗАМЕНИТЬ: с помощью команды CREATE OR REPLACE VIEW мы можем обновить представление / виртуальную таблицу.

Синтаксис:

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;

3. JOIN: мы также можем создать представление, объединив несколько таблиц. Это соединение будет извлекать совпадающие записи из обеих таблиц. Существуют различные виды объединений, называемых внутренним объединением, левым соединением, правым соединением, полным внешним соединением, перекрестным соединением и т. Д.

Синтаксис:

CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Выше приведен пример внутреннего соединения. Таким же образом мы можем также применить другие соединения. В приведенном выше примере представление будет создано путем объединения записей, которые присутствуют как в table_name1, так и в table_name2 на основе общего поля.

Примеры представлений в MySQL

Давайте рассмотрим приведенный выше пример:

Пользовательский ИД Имя покупателя Contact_no Эл. адрес Purchased_amount город
184 Рави Кумар 9887463893 8000, 00 Kolkata
+987 Виная Дас 9839878678 12000, 00 Дели
452 K.Amarnath 7598759387 15000, 00 Kolkata
+874 Абхинаш Десаи 7675878798 5000, 00 Mumbai
+987 Асем Кумар 9697679867 18000, 00 Cuttack
+989 Шакти 9847984788 60000, 00 Cuttack

Это база данных таблицы клиентов.

Мы создадим другое представление об этом, назвав его premium_customer. Условия для премиум-клиентов будут, в то время как купленный_емонт будет больше 10000.

Запрос № 1

CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Выход:

Пользовательский ИД Имя покупателя Contact_no Purchased_amount город
+987 Виная Дас 9839878678 12000, 00 Дели
452 K.Amarnath 7598759387 15000, 00 Kolkata
+987 Асем Кумар 9697679867 18000, 00 Cuttack
+989 Шакти 9847984788 60000, 00 Cuttack

Если мы хотим удалить эту виртуальную таблицу premium_customer, то ниже приведен синтаксис.

DROP VIEW premium_customer;

Если требуется внести некоторые изменения в эту таблицу премиум-класса, изменив некоторые условия, то

Запрос № 2

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Выход:

Пользовательский ИД Имя покупателя Contact_no Эл. адрес Purchased_amount город
184 Рави Кумар 9887463893 8000, 00 Kolkata
+987 Виная Дас 9839878678 12000, 00 Дели
452 K.Amarnath 7598759387 15000, 00 Kolkata
+987 Асем Кумар 9697679867 18000, 00 Cuttack
+989 Шакти 9847984788 60000, 00 Cuttack

Преимущества и недостатки представлений в MySQL

Здесь мы обсуждаем преимущества и недостатки Views в MySQL,

преимущества

  • Безопасность: есть много таблиц, которые ограничены для многих пользователей, так как некоторые атрибуты в этих таблицах будут очень чувствительными. Таким образом, если мы можем создать представления с некоторыми конкретными атрибутами для соответствующих пользователей, тогда пользователям может быть предоставлено разрешение на доступ к некоторому набору представлений в базе данных, которая им разрешена. Это может поддерживать безопасность и целостность данных, а также пользователи могут выполнять свои задачи с соответствующими авторизованными столбцами.
  • Простота запроса: представление может быть создано путем извлечения данных из нескольких таблиц. Таким образом, все совокупные записи из всех таблиц могут быть представлены одной таблицей с использованием запроса представления.
  • Структурная простота: мы можем создать специализированное или персонализированное пользовательское представление. Таким образом, мы можем представить базу данных в виде набора виртуальных таблиц, которые имеют смысл для пользователя.
  • Согласованность: мы упоминаем здесь согласованность, потому что это представление может представлять согласованное и неизменное изображение структуры базы данных, даже если мы сделаем некоторые манипуляции с основной таблицей или основной таблицей.
  • Целостность данных: если данные доступны в представлении, база данных всегда проверяет данные, чтобы убедиться, что они удовлетворяют ограничениям целостности или нет.

Недостатки

  • Производительность. Представления - это виртуальная таблица или представитель основных таблиц. Когда мы запускаем несколько запросов для создания представления, СУБД переводит эти запросы в отношении представлений в запросы в базовых таблицах. Таким образом, если запрос представления очень сложен, который содержит несколько источников и сложные алгоритмы, то простое действие против этих представлений занимает значительное время.
  • Ограничения на обновление: при изменении строк в представлении СУБД должна преобразовать запрос в обновление строк базовой исходной таблицы. Обновление может быть выполнено простым запросом, но в случае сложного запроса СУБД не разрешит обновление, поскольку представления часто ограничены только для чтения.

Вывод

Пройдя через описанные выше вещи, мы можем четко понять значение этой команды. Это удобно во многих сценариях в реальном времени. Основным преимуществом этого является то, что мы можем выполнять множество сложных запросов, просто чтобы узнать, насколько эффективен наш основной алгоритм. Поддержание безопасности и целостности данных является ключевым преимуществом команды view.

Рекомендуемые статьи

Это руководство по просмотрам в MySQL. Здесь мы обсуждаем, как создавать представления в MySQL и понимать, как различные варианты представлений работают в MySQL. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. 3 лучших оператора MySQL
  2. Различные команды MySQL Query
  3. Топ 6 подстановочных знаков в MySQL
  4. Как работает схема MySQL?