PostgreSQL Skapa vy med exempel
Vad är PostgreSQL Se?
In PostgreSQL, en vy är en pseudotabell. Det betyder att en vy inte är ett riktigt bord. Men vi kan VÄLJA den som en vanlig tabell. En vy kan ha alla eller några av tabellkolumnerna. En vy kan också vara en representation av mer än en tabell.
Tabellerna kallas bastabeller. När du skapar en vy behöver du bara skapa en fråga och sedan ge den ett namn, vilket gör den till ett användbart verktyg för att radbryta komplexa och vanliga frågor.
Skapa PostgreSQL Visningar
För att skapa en PostgreSQL view använder vi CREATE VIEW-satsen. Här är syntaxen för detta uttalande:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
Parametern OR REPLACE kommer att ersätta vyn om den redan finns. Om den utelämnas och vyn redan finns kommer ett fel att returneras.
Parametern view-name är namnet på vyn som du behöver skapa.
WHERE-villkoren är alternativ och de måste vara uppfyllda för att någon post ska läggas till i vyn.
Tänk på pristabellen nedan:
Pris:
Låt oss skapa en vy från tabellen ovan:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Kommandot ovan kommer att skapa en vy baserad på SELECT-sats. Endast de poster där priset är högre än 200 kommer att läggas till i vyn. Vyn har fått namnet Price_View. Låt oss fråga den för att se dess innehåll:
SELECT * FROM Price_View;
Detta returnerar följande:
Även om bastabellen har 4 poster lades endast 2 till i vyn.
Här kan vi bara lägga till en kolumn i vyn. Låt oss skapa en vy som bara inkluderade en kolumn i pristabellen:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Vyn har fått namnet Price_View2 och inkluderar endast priskolumnen i pristabellen. Låt oss fråga vyn för att se dess innehåll:
SELECT * FROM Price_View2;
Detta returnerar följande:
Skiftande PostgreSQL Visningar
Definitionen av en vy kan ändras utan att behöva släppa den. Detta görs med hjälp av CREATE OR REPLACE VIEW-satsen.
Låt oss visa detta genom att uppdatera vyn som heter Price_View2.
Price_View2:
Boktabellen är som följer:
Bok:
Pristabellen är som följer:
Pris:
Följande fråga hjälper oss att uppdatera vyn 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;
Låt oss nu fråga vyn för att se dess innehåll:
Vyn har ändrats, och nu har vi två kolumner från två olika tabeller. Detta har uppnåtts med hjälp av en JOIN-sats.
Radera PostgreSQL Visningar
När du behöver ta bort en PostgreSQL se. Du kan använda DROP VIEW-satsen. Här är syntaxen för uttalandet:
DROP VIEW [IF EXISTS] view-name;
Parametern view-name är namnet på vyn som ska raderas.
I den här syntaxen är OM FINNS valfritt. Det krävs bara. Om du inte anger det och försöker ta bort en vy som inte finns får du ett felmeddelande.
För att till exempel ta bort vyn med namnet Price_View2 kan vi köra följande uttalande:
DROP VIEW Price_View2;
Vyn kommer att raderas.
Använder pgAdmin
Låt oss nu se hur dessa åtgärder kan utföras med pgAdmin.
Skapa PostgreSQL Visningar
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Steg 4) Klicka på knappen Kör.
Steg 5) Gör följande för att se innehållet i vyn:
- Skriv följande kommando i frågeredigeraren:
- Klicka på knappen Kör.
SELECT * FROM Price_View;
Detta kommer att returnera följande:
Gör följande för att skapa vyn Price_View2:
Steg 1) Skriv in följande fråga i frågeredigeraren:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
steg 2) Klicka på knappen Kör.
Steg 3) Gör följande för att se innehållet i vyn:
- Skriv in följande fråga i frågeredigeraren:
- Klicka på knappen Kör.
SELECT * FROM Price_View2;
Detta kommer att returnera följande:
Skiftande PostgreSQL Visningar
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Steg 4) Klicka på knappen Kör.
Steg 5) Skriv in följande fråga i frågeredigeraren:
SELECT * FROM Price_View2;
Detta kommer att returnera följande:
Radera PostgreSQL Visningar
För att åstadkomma samma sak genom pgAdmin, gör så här:
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
DROP VIEW Price_View2;
Steg 4) Klicka på knappen Kör.
Vyn kommer att raderas.
Sammanfattning
- A PostgreSQL view är en pseudotabell, vilket betyder att det inte är en riktig tabell.
- En vy kan skapas från en eller flera tabeller.
- Tabellerna från vilka en vy skapas kallas bastabeller.
- För att skapa en vy använder vi CREATE OR REPLACE VIEW-satsen.
- För att ändra definitionen av en vy använder vi CREATE OR REPLACE VIEW-satsen.
- För att ta bort en vy använder vi DROP VIEW-satsen.
Ladda ner den databas som används i denna handledning