PostgreSQL Создать представление с примером

Что такое PostgreSQL Вид?

In PostgreSQL, представление представляет собой псевдотаблицу. Это означает, что представление не является настоящей таблицей. Однако мы можем ВЫБРАТЬ ее как обычную таблицу. Представление может содержать все или некоторые столбцы таблицы. Представление также может быть представлением более чем одной таблицы.

Таблицы называются базовыми таблицами. При создании представления вам просто нужно создать запрос, а затем дать ему имя, что делает его полезным инструментом для упаковки сложных и часто используемых запросов.

Создающий PostgreSQL Виды

Чтобы создать PostgreSQL view, мы используем оператор CREATE VIEW. Вот синтаксис этого утверждения:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

Параметр OR REPLACE заменит представление, если оно уже существует. Если этот параметр опущен и представление уже существует, будет возвращена ошибка.

Параметр view-name — это имя представления, которое вам нужно создать.

Условия WHERE являются опциями, и они должны быть удовлетворены, чтобы любая запись была добавлена ​​в представление.

Рассмотрим таблицу цен, приведенную ниже:

Цена:

Создающий PostgreSQL Виды

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

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Приведенная выше команда создаст представление на основе Оператор SELECT. В представление будут добавлены только записи, цена которых превышает 200. Представлению присвоено имя Price_View. Давайте запросим его, чтобы увидеть его содержимое:

SELECT *
FROM Price_View;

Это возвращает следующее:

Создающий PostgreSQL Виды

Несмотря на то, что базовая таблица содержит 4 записи, в представление были добавлены только 2.

Здесь мы можем добавить в представление только один столбец. Создадим представление, включающее только один столбец таблицы «Цены»:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Представлению присвоено имя Price_View2, и оно включает только столбец цен таблицы цен. Давайте запросим представление, чтобы увидеть его содержимое:

SELECT *
FROM Price_View2;

Это возвращает следующее:

Создающий PostgreSQL Виды

Изменение PostgreSQL Виды

Определение представления можно изменить, не удаляя его. Это делается с помощью оператора CREATE OR REPLACE VIEW.

Давайте продемонстрируем это, обновив представление с именем Price_View2.

Цена_Просмотр2:

Изменение PostgreSQL Виды

Таблица книги выглядит следующим образом:

Книга:

Изменение PostgreSQL Виды

Таблица цен выглядит следующим образом:

Цена:

Изменение PostgreSQL Виды

Следующий запрос поможет нам обновить представление 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;

Давайте теперь запросим представление, чтобы увидеть его содержимое:

Изменение PostgreSQL Виды

Представление было изменено, и теперь у нас есть два столбца из двух разных таблиц. Это было достигнуто с помощью оператора JOIN.

Удаление PostgreSQL Виды

Каждый раз, когда вам нужно удалить PostgreSQL вид. Вы можете использовать оператор DROP VIEW. Вот синтаксис оператора:

DROP VIEW [IF EXISTS] view-name;

Параметр view-name — это имя представления, которое необходимо удалить.

В этом синтаксисе IF EXISTS не является обязательным. Это только требуется. Если вы не укажете его и попытаетесь удалить несуществующее представление, вы получите сообщение об ошибке.

Например, чтобы удалить представление с именем Price_View2, мы можем выполнить следующий оператор:

DROP VIEW Price_View2;

Представление будет удалено.

Использование pgAdmin

Теперь посмотрим, как эти действия можно выполнить с помощью pgAdmin.

Создающий PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Шаг 4) Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 5) Чтобы просмотреть содержимое представления, выполните следующие действия:

  1. Введите следующую команду в редакторе запросов:
  2. SELECT *
    FROM Price_View;
    
  3. Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Это вернет следующее:

Создающий PostgreSQL Просмотры с использованием pgAdmin

Чтобы создать представление Price_View2, выполните следующие действия:

Шаг 1) Введите следующий запрос в редакторе запросов:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Шаг 2) Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Чтобы увидеть содержимое представления, выполните следующие действия:

  1. Введите следующий запрос в редакторе запросов:
  2. SELECT *
    FROM Price_View2;
    
  3. Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Это вернет следующее:

Создающий PostgreSQL Просмотры с использованием pgAdmin

Изменение PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Изменение PostgreSQL Просмотры с использованием pgAdmin

Шаг 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) Нажмите кнопку «Выполнить».

Изменение PostgreSQL Просмотры с использованием pgAdmin

Шаг 5) Введите следующий запрос в редакторе запросов:

SELECT * 
FROM Price_View2;

Это вернет следующее:

Изменение PostgreSQL Просмотры с использованием pgAdmin

Удаление PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Удаление PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

DROP VIEW Price_View2;

Шаг 4) Нажмите кнопку «Выполнить».

Удаление PostgreSQL Просмотры с использованием pgAdmin

Представление будет удалено.

Итого

  • A PostgreSQL представление — это псевдотаблица, то есть это не настоящая таблица.
  • Представление может быть создано из одной или нескольких таблиц.
  • Таблицы, на основе которых создается представление, называются базовыми таблицами.
  • Чтобы создать представление, мы используем оператор CREATE OR REPLACE VIEW.
  • Чтобы изменить определение представления, мы используем оператор CREATE OR REPLACE VIEW.
  • Чтобы удалить представление, мы используем оператор DROP VIEW.

Загрузите базу данных, используемую в этом руководстве.