PostgreSQL Utwórz widok z przykładem

⚡ Inteligentne podsumowanie

PostgreSQL Widoki to pseudotabele zbudowane z zapisanego zapytania SELECT, umożliwiające opakowanie złożonych lub często używanych zapytań za jedną nazwę, którą można odczytać, zaktualizować lub usunąć jak zwykłą tabelę.

  • 🗂️. Pseudo-tabela: Widok przechowuje zapytanie, a nie dane, mimo to można go wybrać, tak jak tabelę.
  • 🛠️. Stwórz: Polecenie CREATE VIEW nadaje nazwę zapytaniu SELECT, nawet w kilku tabelach bazowych, co ułatwia ponowne wykorzystanie.
  • ♻️ Zastąpić: UTWÓRZ LUB ZAMIEŃ WIDOK zmienia widok bez upuszczaniaping to.
  • 🗑️ Upuszczać: DROP VIEW usuwa widok, a IF EXISTS zapobiega błędowi.
  • 🤖 Pomoc AI: Asystenci AI generują definicje widoków i sugerują, które zapytania należy zawinąć.

PostgreSQL Utwórz widok

Czym jest PostgreSQL Pogląd?

In PostgreSQL, widok jest pseudo-tabelą. Oznacza to, że widok nie jest prawdziwą tabelą. Możemy jednak WYBRAĆ go jako zwykły stół. Widok może zawierać wszystkie lub niektóre kolumny tabeli. Widok może być także reprezentacją więcej niż jednej tabeli.

Tabele te nazywane są tabelami bazowymi. Podczas tworzenia widoku wystarczy utworzyć zapytanie, a następnie nadać mu nazwę, co czyni go użytecznym narzędziem do zawijania.ping złożone i powszechnie używane zapytania.

Tworzenie PostgreSQL odwiedzajacy

Aby utworzyć PostgreSQL widoku, używamy instrukcji CREATE VIEW. Oto składnia tego stwierdzenia:

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

Parametr OR REPLACE zastąpi widok, jeśli już istnieje. Jeśli zostanie pominięty, a widok już istnieje, zostanie zwrócony błąd.

Parametr view-name to nazwa widoku, który chcesz utworzyć.

Warunki WHERE są opcjonalne i muszą zostać spełnione, aby można było dodać jakikolwiek rekord do widoku.

Rozważ tabelę cen podaną poniżej:

Cena:

Tworzenie PostgreSQL odwiedzajacy

Utwórzmy widok z powyższej tabeli:

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

Powyższe polecenie utworzy widok w oparciu o SELECT oświadczenie. Do widoku dodane zostaną tylko rekordy, których cena jest większa niż 200. Widokowi nadano nazwę Price_View. Zapytajmy go, aby zobaczyć jego zawartość:

SELECT *
FROM Price_View;

To zwraca następujące informacje:

Tworzenie PostgreSQL odwiedzajacy

Mimo że tabela podstawowa zawiera 4 rekordy, do widoku dodano tylko 2.

Tutaj możemy dodać tylko jedną kolumnę do widoku. Utwórzmy widok zawierający tylko jedną kolumnę tabeli cen:

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

Widok otrzymał nazwę Price_View2 i zawiera wyłącznie kolumnę cenową tabeli Cen. Zapytajmy widok, aby zobaczyć jego zawartość:

SELECT *
FROM Price_View2;

To zwraca następujące informacje:

Tworzenie PostgreSQL odwiedzajacy

Wymiana pieniędzy PostgreSQL odwiedzajacy

Definicję widoku można zmienić bez konieczności jego usuwania. Odbywa się to za pomocą instrukcji CREATE OR REPLACE VIEW.

Zademonstrujmy to, aktualizując widok o nazwie Price_View2.

Cena_widok2:

Wymiana pieniędzy PostgreSQL odwiedzajacy

Tabela książek wygląda następująco:

Książka:

Wymiana pieniędzy PostgreSQL odwiedzajacy

Tabela cen wygląda następująco:

Cena:

Wymiana pieniędzy PostgreSQL odwiedzajacy

Poniższe zapytanie pomoże nam zaktualizować widok 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;

Zapytajmy teraz widok, aby zobaczyć jego zawartość:

Wymiana pieniędzy PostgreSQL odwiedzajacy

Widok został zmieniony i teraz mamy dwie kolumny z dwóch różnych tabel. Osiągnięto to za pomocą instrukcji JOIN.

Usuwanie PostgreSQL odwiedzajacy

Za każdym razem, gdy chcesz usunąć plik a PostgreSQL Możesz użyć polecenia DROP VIEW. Oto składnia polecenia:

DROP VIEW [IF EXISTS] view-name;

Parametr nazwa-widoku jest nazwą widoku, który ma zostać usunięty.

W tej składni klauzula IF EXISTS jest opcjonalna. Jeśli jej nie określisz i spróbujesz usunąć widok, który nie istnieje, pojawi się błąd.

Na przykład, aby usunąć widok o nazwie Price_View2, możemy uruchomić następujące polecenie:

DROP VIEW Price_View2;

Widok zostanie usunięty.

Korzystanie z pgAdmina

Zobaczmy teraz, jak wykonać te czynności za pomocą pgAdmin.

Tworzenie PostgreSQL odwiedzajacy

Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:

Krok 1) Zaloguj się na swoje konto pgAdmin.

Krok 2)

  • Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  • Kliknij opcję Demo.

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

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

Krok 4) Kliknij przycisk Wykonaj.

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 5) Aby wyświetlić zawartość widoku, wykonaj następujące czynności:

  • Wpisz następujące polecenie w edytorze zapytań:
SELECT *
FROM Price_View;
  • Kliknij przycisk Wykonaj.

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Spowoduje to zwrócenie następujących informacji:

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Aby utworzyć widok Price_View2, wykonaj następujące czynności:

Krok 1) Wpisz następujące zapytanie w edytorze zapytań:

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

Krok 2) Kliknij przycisk Wykonaj.

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 3) Aby zobaczyć zawartość widoku, wykonaj następujące czynności:

  • Wpisz następujące zapytanie w edytorze zapytań:
SELECT *
FROM Price_View2;
  • Kliknij przycisk Wykonaj.

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Spowoduje to zwrócenie następujących informacji:

Tworzenie PostgreSQL Wyświetlenia za pomocą pgAdmin

Wymiana pieniędzy PostgreSQL odwiedzajacy

Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:

Krok 1) Zaloguj się na swoje konto pgAdmin.

Krok 2)

  • Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  • Kliknij opcję Demo.

Wymiana pieniędzy PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Krok 4) Kliknij przycisk Wykonaj.

Wymiana pieniędzy PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 5) Wpisz następujące zapytanie w edytorze zapytań:

SELECT *
FROM Price_View2;

Spowoduje to zwrócenie następujących informacji:

Wymiana pieniędzy PostgreSQL Wyświetlenia za pomocą pgAdmin

Usuwanie PostgreSQL odwiedzajacy

Aby osiągnąć to samo poprzez pgAdmin, wykonaj następujące czynności:

Krok 1) Zaloguj się na swoje konto pgAdmin.

Krok 2)

  • Na pasku nawigacyjnym po lewej stronie kliknij opcję Bazy danych.
  • Kliknij opcję Demo.

Usuwanie PostgreSQL Wyświetlenia za pomocą pgAdmin

Krok 3) Wpisz zapytanie w edytorze zapytań:

DROP VIEW Price_View2;

Krok 4) Kliknij przycisk Wykonaj.

Usuwanie PostgreSQL Wyświetlenia za pomocą pgAdmin

Widok zostanie usunięty.

Pobierz bazę danych używaną w tym samouczku

FAQ

Tabela fizycznie przechowuje dane na dysku. Widok przechowuje tylko zapytanie SELECT, więc wykonanie zapytania powoduje jego ponowne uruchomienie i zwrócenie bieżących danych z tabel bazowych.

Widok zmaterializowany buforuje wynik zapytania na dysku. Odczytuje się szybciej niż widok zwykły, ale wymaga ODŚWIEŻENIA WIDOKÓW ZMATERIALIZOWANYCH, aby wyświetlić nowe dane.

Standardowy widok uruchamia zapytanie za każdym razem, wyświetlając dane na żywo. Widok zmaterializowany przechowuje wyniki na dysku dla zwiększenia szybkości, ale może być nieaktualny do momentu odświeżenia.

Czasami. Prosty widok pojedynczej tabeli bez agregacji jest automatycznie aktualizowany, więc polecenia INSERT, UPDATE i DELETE działają bezpośrednio. Złożone widoki wymagają wyzwalaczy INSTEAD OF.

Zapytanie do katalogu: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. W pgAdmin możesz rozwinąć węzeł „Widoki” w schemacie.

Asystenci AI zamieniają żądanie w języku zwykłym na polecenie CREATE VIEW, nadają nazwę widokowi i dodają odpowiednie klauzule WHERE i JOIN, przyspieszając tym samym często wykorzystywane zapytania.

Tak. Wklej długie polecenie SELECT, a asystent AI otoczy je poleceniem UTWÓRZ LUB ZAMIEŃ WIDOK, zasugeruje nazwę i oznaczy kolumny wymagające aliasów, aby uniknąć duplikatów nazw.

Zwykły widok nie przyspiesza zapytań, ponieważ jego instrukcja SELECT jest uruchamiana za każdym razem. Aby przyspieszyć powtarzające się odczyty, użyj widoku zmaterializowanego, który przechowuje wyniki na dysku do momentu odświeżenia.

Podsumuj ten post następująco: