PostgreSQL Opret visning med eksempel
Hvad er PostgreSQL Udsigt?
In PostgreSQL, en udsigt er en pseudo-tabel. Det betyder, at en udsigt ikke er et rigtigt bord. Vi kan dog VÆLGE den som en almindelig tabel. En visning kan have alle eller nogle af tabelkolonnerne. En visning kan også være en repræsentation af mere end én tabel.
Tabellerne omtales som basistabeller. Når du opretter en visning, skal du blot oprette en forespørgsel og derefter give den et navn, hvilket gør den til et nyttigt værktøj til at ombryde komplekse og almindeligt anvendte forespørgsler.
Oprettelse af PostgreSQL Views
At oprette en PostgreSQL view, bruger vi CREATE VIEW-sætningen. Her er syntaksen for denne erklæring:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
Parameteren OR REPLACE erstatter visningen, hvis den allerede eksisterer. Hvis den udelades, og visningen allerede eksisterer, vil der blive returneret en fejl.
View-name-parameteren er navnet på den visning, du skal oprette.
WHERE-betingelserne er valgmuligheder, og de skal være opfyldt, for at enhver post kan føjes til visningen.
Overvej pristabellen nedenfor:
Pris:
Lad os skabe en visning fra ovenstående tabel:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Ovenstående kommando vil oprette en visning baseret på SELECT erklæring. Kun de poster, hvor prisen er større end 200, bliver tilføjet visningen. Udsigten har fået navnet Price_View. Lad os forespørge det for at se dets indhold:
SELECT * FROM Price_View;
Dette returnerer følgende:
Selvom basistabellen har 4 poster, blev der kun tilføjet 2 til visningen.
Her kan vi kun tilføje én kolonne til visningen. Lad os oprette en visning, der kun indeholdt én kolonne i pristabellen:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Visningen har fået navnet Price_View2 og inkluderer kun priskolonnen i tabellen Pris. Lad os forespørge i visningen for at se dens indhold:
SELECT * FROM Price_View2;
Dette returnerer følgende:
Ændring PostgreSQL Views
Definitionen af en visning kan ændres uden at skulle droppe den. Dette gøres ved hjælp af CREATE OR REPLACE VIEW-sætningen.
Lad os demonstrere dette ved at opdatere visningen med navnet Price_View2.
Pris_visning2:
Bogtabellen er som følger:
Bestil:
Pristabellen er som følger:
Pris:
Følgende forespørgsel hjælper os med at opdatere visningen 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;
Lad os nu forespørge i visningen for at se dens indhold:
Visningen er blevet ændret, og nu har vi to kolonner fra to forskellige tabeller. Dette er opnået ved hjælp af en JOIN-erklæring.
Sletning PostgreSQL Views
Når som helst du har brug for at slette en PostgreSQL udsigt. Du kan bruge DROP VIEW-sætningen. Her er syntaksen for sætningen:
DROP VIEW [IF EXISTS] view-name;
Parameteren view-name er navnet på den view, der skal slettes.
I denne syntaks er IF EXISTS valgfrit. Det er kun påkrævet. Hvis du ikke angiver det og forsøger at slette en visning, der ikke eksisterer, får du en fejl.
For at droppe visningen med navnet Price_View2 kan vi for eksempel køre følgende sætning:
DROP VIEW Price_View2;
Visningen vil blive slettet.
Bruger pgAdmin
Lad os nu se, hvordan disse handlinger kan udføres ved hjælp af pgAdmin.
Oprettelse af PostgreSQL Views
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Trin 4) Klik på knappen Udfør.
Trin 5) Gør følgende for at se indholdet af visningen:
- Indtast følgende kommando i forespørgselseditoren:
- Klik på knappen Udfør.
SELECT * FROM Price_View;
Dette vil returnere følgende:
For at oprette visningen Price_View2 skal du gøre følgende:
Trin 1) Indtast følgende forespørgsel i forespørgselseditoren:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Trin 2) Klik på knappen Udfør.
Trin 3) Gør følgende for at se indholdet af visningen:
- Indtast følgende forespørgsel i forespørgselseditoren:
- Klik på knappen Udfør.
SELECT * FROM Price_View2;
Dette vil returnere følgende:
Ændring PostgreSQL Views
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Trin 4) Klik på knappen Udfør.
Trin 5) Indtast følgende forespørgsel i forespørgselseditoren:
SELECT * FROM Price_View2;
Dette vil returnere følgende:
Sletning PostgreSQL Views
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
DROP VIEW Price_View2;
Trin 4) Klik på knappen Udfør.
Visningen vil blive slettet.
Resumé
- A PostgreSQL view er en pseudo-tabel, hvilket betyder, at det ikke er en rigtig tabel.
- En visning kan oprettes fra en eller flere tabeller.
- Tabellerne, hvorfra en visning oprettes, er kendt som basistabeller.
- For at oprette en visning bruger vi CREATE OR REPLACE VIEW-sætningen.
- For at ændre definitionen af en visning bruger vi CREATE OR REPLACE VIEW-sætningen.
- For at slette en visning bruger vi DROP VIEW-sætningen.
Download databasen brugt i denne vejledning