PostgreSQL Създаване на изглед с пример
Какво е PostgreSQL Вижте?
In PostgreSQL, изгледът е псевдотаблица. Това означава, че изгледът не е истинска таблица. Можем обаче да го ИЗБЕРЕМ като обикновена таблица. Един изглед може да има всички или някои от колоните на таблицата. Един изглед може също да бъде представяне на повече от една таблица.
Таблиците се наричат базови таблици. Когато създавате изглед, трябва само да създадете заявка, след което да й дадете име, което го прави полезен инструмент за обвиване на сложни и често използвани заявки.
Създаване PostgreSQL Прегледи
За да създадете PostgreSQL изглед, използваме израза CREATE VIEW. Ето синтаксиса на това изявление:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
Параметърът OR REPLACE ще замени изгледа, ако вече съществува. Ако е пропуснато и изгледът вече съществува, ще бъде върната грешка.
Параметърът име на изглед е името на изгледа, който трябва да създадете.
Условието(ята) WHERE са опции и те трябва да бъдат изпълнени, за да може всеки запис да бъде добавен към изгледа.
Разгледайте таблицата с цените, дадена по-долу:
Цена:
Нека създадем изглед от горната таблица:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Горната команда ще създаде изглед въз основа на SELECT израз. Само записите, чиято цена е по-голяма от 200, ще бъдат добавени към изгледа. Изгледът получи името Price_View. Нека го потърсим, за да видим съдържанието му:
SELECT * FROM Price_View;
Това връща следното:
Въпреки че базовата таблица има 4 записа, само 2 бяха добавени към изгледа.
Тук можем да добавим само една колона към изгледа. Нека създадем изглед, който включва само една колона от таблицата с цени:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Изгледът е наречен Price_View2 и включва само ценовата колона от таблицата с цени. Нека направим запитване към изгледа, за да видим съдържанието му:
SELECT * FROM Price_View2;
Това връща следното:
Промяна PostgreSQL Прегледи
Дефиницията на изглед може да се промени, без да се налага да я изпускате. Това се прави с помощта на израза CREATE OR REPLACE VIEW.
Нека демонстрираме това, като актуализираме изгледа с име Price_View2.
Price_View2:
Таблицата на книгата е както следва:
Книга:
Ценовата таблица е както следва:
Цена:
Следната заявка ще ни помогне да актуализираме изгледа Price_View2:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Нека сега направим запитване към изгледа, за да видим съдържанието му:
Изгледът е променен и сега имаме две колони от две различни таблици. Това е постигнато с помощта на оператор JOIN.
Изтриване PostgreSQL Прегледи
Всеки път, когато трябва да изтриете a PostgreSQL изглед. Можете да използвате командата DROP VIEW. Ето синтаксиса на израза:
DROP VIEW [IF EXISTS] view-name;
Параметърът име на изглед е името на изгледа, който трябва да бъде изтрит.
В този синтаксис АКО СЪЩЕСТВУВА не е задължително. Изисква се само. Ако не го посочите и се опитате да изтриете изглед, който не съществува, ще получите грешка.
Например, за да премахнем изгледа с име Price_View2, можем да изпълним следния оператор:
DROP VIEW Price_View2;
Изгледът ще бъде изтрит.
Използване на pgAdmin
Сега нека видим как тези действия могат да бъдат извършени с помощта на pgAdmin.
Създаване PostgreSQL Прегледи
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Стъпка 4) Щракнете върху бутона Изпълнение.
Стъпка 5) За да видите съдържанието на изгледа, направете следното:
- Въведете следната команда в редактора на заявки:
- Щракнете върху бутона Изпълнение.
SELECT * FROM Price_View;
Това ще върне следното:
За да създадете изглед Price_View2, направете следното:
Стъпка 1) Въведете следната заявка в редактора на заявки:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Стъпка ) Щракнете върху бутона Изпълнение.
Стъпка 3) За да видите съдържанието на изгледа, направете следното:
- Въведете следната заявка в редактора на заявки:
- Щракнете върху бутона Изпълнение.
SELECT * FROM Price_View2;
Това ще върне следното:
Промяна PostgreSQL Прегледи
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Стъпка 4) Щракнете върху бутона Изпълнение.
Стъпка 5) Въведете следната заявка в редактора на заявки:
SELECT * FROM Price_View2;
Това ще върне следното:
Изтриване PostgreSQL Прегледи
За да постигнете същото чрез pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
DROP VIEW Price_View2;
Стъпка 4) Щракнете върху бутона Изпълнение.
Изгледът ще бъде изтрит.
Oбобщение
- A PostgreSQL view е псевдо-таблица, което означава, че не е истинска таблица.
- Изглед може да се създаде от една или повече таблици.
- Таблиците, от които се създава изглед, са известни като базови таблици.
- За да създадем изглед, използваме командата CREATE OR REPLACE VIEW.
- За да променим дефиницията на изглед, ние използваме командата CREATE OR REPLACE VIEW.
- За да изтрием изглед, използваме командата DROP VIEW.
Изтеглете базата данни, използвана в този урок