Вступ до переглядів у MySQL
Перегляд SQL - це не що інше, як віртуальна таблиця бази даних. Представлення містить поля, як реальна таблиця, але ці поля є з однієї або декількох таблиць у базі даних, які виконуються за допомогою запуску купівлі запитів MySQL. Ми можемо виконувати такі операції, як пропозиції WHERE та JOIN у віртуальних таблицях. З іншого боку, VIEW - це не що інше, як SELECT запитів.
Синтаксис:
CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;
- “CREATE VIEW view_name” командує MySQL створити таблицю перегляду / віртуальну таблицю під іменем view_name.
- Оператор "ЯК ВИБІР стовпчик1, стовпець2 ВІД таблиці" отримує стовпчик1 і стовпчик2 з реальної таблиці. Потім він зберігає ці поля у віртуальній таблиці.
Як створити перегляди в MySQL?
Створимо одну таблицю клієнтів із такими атрибутами:
Customer_id | Ім'я клієнта | Контактний номер | Електронна пошта | Придбано_значення | Місто |
184 | Раві Кумар | 9887463893 | 8000, 00 | Колката | |
987 | Винай Дас | 9839878678 | 12000, 00 | Делі | |
452 | К.Амарнат | 7598759387 | 15000, 00 | Колката | |
874 | Абхінаш Дезай | 7675878798 | 5000, 00 | Мумбаї |
Ми створимо одну таблицю cutomser_archive з нашим необхідним атрибутом.
Запит №1
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;
Вихід:
Customer_id | Ім'я клієнта | Контактний номер | Місто |
184 | Раві Кумар | 9887463893 | Колката |
987 | Винай Дас | 9839878678 | Делі |
452 | К.Амарнат | 7598759387 | Колката |
874 | Абхінаш Дезай | 7675878798 | Мумбаї |
Ми також можемо застосувати умову до цього запиту під час створення перегляду.
Запит №2
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;
Вихід:
Customer_id | Ім'я клієнта | Контактний номер | Придбано_значення | Місто |
987 | Винай Дас | 9839878678 | 12000, 00 | Делі |
452 | К.Амарнат | 7598759387 | 15000, 00 | Колката |
Різні параметри перегляду в MySQL
Нижче наведено різні варіанти перегляду в MySQL, що пояснюються більш докладно,
1. DROP: Перегляд / віртуальну таблицю можна видалити за допомогою команди DROP VIEW. Якщо ми хочемо видалити таблицю customer_archive,
Синтаксис:
DROP VIEW customer_archive;
2. СТВОРИТИ АБО ЗАМОВИТИ: За допомогою команди CREATE OR ЗАМЕНИТИ VIEW ми можемо оновити представлення / віртуальну таблицю.
Синтаксис:
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;
3. ПРИЄДНАЙТЕСЬ: Ми також можемо створити подання, з'єднавши кілька таблиць. Це з'єднання отримає відповідні записи з обох таблиць. Існують різні типи з'єднань, названих як внутрішні з'єднання, ліві з'єднання, праві з'єднання, повні зовнішні з'єднання, перехресні з'єднання тощо.
Синтаксис:
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
Розглянемо приклад вище:
Customer_id | Ім'я клієнта | Контактний номер | Електронна пошта | Придбано_значення | Місто |
184 | Раві Кумар | 9887463893 | 8000, 00 | Колката | |
987 | Винай Дас | 9839878678 | 12000, 00 | Делі | |
452 | К.Амарнат | 7598759387 | 15000, 00 | Колката | |
874 | Абхінаш Дезай | 7675878798 | 5000, 00 | Мумбаї | |
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;
Вихід:
Customer_id | Ім'я клієнта | Контактний номер | Придбано_значення | Місто |
987 | Винай Дас | 9839878678 | 12000, 00 | Делі |
452 | К.Амарнат | 7598759387 | 15000, 00 | Колката |
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;
Вихід:
Customer_id | Ім'я клієнта | Контактний номер | Електронна пошта | Придбано_значення | Місто |
184 | Раві Кумар | 9887463893 | 8000, 00 | Колката | |
987 | Винай Дас | 9839878678 | 12000, 00 | Делі | |
452 | К.Амарнат | 7598759387 | 15000, 00 | Колката | |
987 | Асеем Кумар | 9697679867 | 18000, 00 | Cuttack | |
989 | Сакти | 9847984788 | 60000, 00 | Cuttack |
Переваги та недоліки поглядів у MySQL
Тут ми обговорюємо переваги та недоліки переглядів у MySQL,
Переваги
- Безпека: Є багато таблиць, які обмежені багатьма користувачами, оскільки деякі атрибути в цих таблицях будуть дуже чутливими. Отже, якщо ми можемо створити представлення з певними атрибутами для відповідних користувачів, тоді користувачі можуть отримати дозвіл на доступ до певного набору переглядів у базі даних, яка їм дозволена. Це може підтримувати безпеку та цілісність даних, а також користувачі можуть виконувати свої завдання у відповідних авторизованих стовпцях.
- Простота запиту: Перегляд можна створити шляхом отримання даних з кількох таблиць. Отже, усі накопичувальні записи з усіх таблиць можуть бути представлені однією таблицею, використовуючи запит перегляду.
- Структурна простота: ми можемо створити спеціалізований або персоналізований вигляд для користувача. Таким чином, ми можемо представити базу даних як набір віртуальних таблиць, які мають сенс для користувача.
- Послідовність: тут ми згадуємо про послідовність, оскільки цей погляд може представляти послідовне та незмінне зображення структури бази даних, навіть якщо ми робимо певні маніпуляції з основною таблицею або основною таблицею.
- Цілісність даних: якщо дані отримують доступ до представлення даних, база даних завжди перевіряє дані, щоб переконатися, що вони задовольняють обмеженням цілісності чи ні.
Недоліки
- Продуктивність: Перегляди - це віртуальна таблиця або представник головних таблиць. Коли ми запускаємо деякі запити для створення представлення даних, СУБД переводить ці запити проти представлень у запити в базових таблицях. Отже, якщо запит перегляду дуже складний, що містить безліч джерел і складних алгоритмів, то прості дії проти цих поглядів потребують значного часу.
- Обмеження оновлення: Змінюючи рядки в представленні даних, СУБД повинна перевести запит у оновлення на рядки нижньої таблиці джерела. Оновлення може бути виконано простим запитом, але у випадку складного запиту СУБД не дозволить оновлювати, оскільки представлення часто обмежуються лише для читання.
Висновок
Провівши описані вище речі, ми можемо чітко дізнатися про значення цієї команди. Це зручно в багатьох сценаріях реального часу. Головною перевагою цього є те, що ми можемо виконувати безліч складних запитів, просто щоб знати, наскільки ефективним є наш базовий алгоритм. Підтримка безпеки та цілісності даних є ключовою перевагою команди view.
Рекомендовані статті
Це посібник щодо Переглядів в MySQL. Тут ми обговорюємо, як створити представлення в mysql та зрозуміти, як працюють різні варіанти поглядів у MySQL. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- 3 найкращих операторів MySQL
- Різні команди запитів MySQL
- 6 найкращих підстановок у MySQL
- Як працює схема MySQL?