PostgreSQL Vytvořit pohled s příkladem
Co je to PostgreSQL Pohled?
In PostgreSQL, pohled je pseudotabulka. To znamená, že pohled není skutečnou tabulkou. Můžeme jej však VYBRAT jako obyčejnou tabulku. Pohled může mít všechny nebo některé sloupce tabulky. Pohled může být také reprezentací více než jedné tabulky.
Tabulky se označují jako základní tabulky. Při vytváření pohledu stačí vytvořit dotaz a poté jej pojmenovat, což z něj činí užitečný nástroj pro zalamování složitých a běžně používaných dotazů.
Vytvoření PostgreSQL Zobrazení
Vytvoření PostgreSQL zobrazení, použijeme příkaz CREATE VIEW. Zde je syntaxe tohoto příkazu:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
Parametr OR REPLACE nahradí pohled, pokud již existuje. Pokud je vynechán a pohled již existuje, bude vrácena chyba.
Parametr view-name je název pohledu, který potřebujete vytvořit.
Podmínka(y) WHERE jsou možnosti a musí být splněny, aby byl jakýkoli záznam přidán do pohledu.
Zvažte níže uvedenou cenovou tabulku:
Cena:
Vytvořme pohled z výše uvedené tabulky:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Výše uvedený příkaz vytvoří pohled založený na příkaz SELECT. Do náhledu budou přidány pouze záznamy, kde je cena vyšší než 200. Pohled dostal název Price_View. Zeptejme se ho, abychom viděli jeho obsah:
SELECT * FROM Price_View;
To vrátí následující:
I když má základní tabulka 4 záznamy, do pohledu byly přidány pouze 2.
Zde můžeme do zobrazení přidat pouze jeden sloupec. Vytvořme pohled, který bude obsahovat pouze jeden sloupec cenové tabulky:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Pohled dostal název Price_View2 a obsahuje pouze sloupec s cenou v tabulce Price. Zašleme dotaz na pohled, abychom viděli jeho obsah:
SELECT * FROM Price_View2;
To vrátí následující:
Měnící se PostgreSQL Zobrazení
Definici pohledu lze změnit, aniž byste jej museli rušit. To se provádí pomocí příkazu CREATE OR REPLACE VIEW.
Ukažme si to aktualizací pohledu s názvem Price_View2.
Price_View2:
Tabulka knihy je následující:
Rezervovat:
Tabulka cen je následující:
Cena:
Následující dotaz nám pomůže aktualizovat zobrazení 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;
Pojďme se nyní dotázat pohledu, abychom viděli jeho obsah:
Pohled byl změněn a nyní máme dva sloupce ze dvou různých tabulek. Toho bylo dosaženo pomocí příkazu JOIN.
mazání PostgreSQL Zobrazení
Kdykoli potřebujete smazat a PostgreSQL Pohled. Můžete použít příkaz DROP VIEW. Zde je syntaxe příkazu:
DROP VIEW [IF EXISTS] view-name;
Parametr view-name je název pohledu, který má být odstraněn.
V této syntaxi je IF EXISTS nepovinné. Je pouze vyžadováno. Pokud jej nezadáte a pokusíte se smazat pohled, který neexistuje, zobrazí se chyba.
Chcete-li například zrušit zobrazení s názvem Price_View2, můžeme spustit následující příkaz:
DROP VIEW Price_View2;
Pohled bude smazán.
Pomocí pgAdmin
Nyní se podívejme, jak lze tyto akce provádět pomocí pgAdmin.
Vytvoření PostgreSQL Zobrazení
Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Krok 4) Klepněte na tlačítko Spustit.
Krok 5) Chcete-li zobrazit obsah zobrazení, postupujte takto:
- V editoru dotazů zadejte následující příkaz:
- Klepněte na tlačítko Spustit.
SELECT * FROM Price_View;
Tím se vrátí následující:
Chcete-li vytvořit zobrazení Price_View2, postupujte takto:
Krok 1) V editoru dotazů zadejte následující dotaz:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Krok 2) Klepněte na tlačítko Provést.
Krok 3) Chcete-li zobrazit obsah zobrazení, postupujte takto:
- V editoru dotazů zadejte následující dotaz:
- Klepněte na tlačítko Spustit.
SELECT * FROM Price_View2;
Tím se vrátí následující:
Měnící se PostgreSQL Zobrazení
Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
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) Klepněte na tlačítko Spustit.
Krok 5) V editoru dotazů zadejte následující dotaz:
SELECT * FROM Price_View2;
Tím se vrátí následující:
mazání PostgreSQL Zobrazení
Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
DROP VIEW Price_View2;
Krok 4) Klepněte na tlačítko Spustit.
Pohled bude smazán.
Shrnutí
- A PostgreSQL view je pseudotabulka, což znamená, že nejde o skutečnou tabulku.
- Pohled lze vytvořit z jedné nebo více tabulek.
- Tabulky, ze kterých je vytvořen pohled, se nazývají základní tabulky.
- K vytvoření pohledu používáme příkaz CREATE OR REPLACE VIEW.
- Ke změně definice pohledu používáme příkaz CREATE OR REPLACE VIEW.
- Pro smazání pohledu používáme příkaz DROP VIEW.
Stáhněte si databázi použitou v tomto kurzu