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:

Skapa PostgreSQL Visningar

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:

Skapa PostgreSQL Visningar

Ä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:

Skapa PostgreSQL Visningar

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:

Skiftande PostgreSQL Visningar

Boktabellen är som följer:

Bok:

Skiftande PostgreSQL Visningar

Pristabellen är som följer:

Pris:

Skiftande PostgreSQL Visningar

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:

Skiftande PostgreSQL Visningar

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)

  1. Klicka på Databaser i navigeringsfältet till vänster.
  2. Klicka på Demo.

Skapa PostgreSQL Visningar med pgAdmin

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.

Skapa PostgreSQL Visningar med pgAdmin

Steg 5) Gör följande för att se innehållet i vyn:

  1. Skriv följande kommando i frågeredigeraren:
  2. SELECT *
    FROM Price_View;
    
  3. Klicka på knappen Kör.

Skapa PostgreSQL Visningar med pgAdmin

Detta kommer att returnera följande:

Skapa PostgreSQL Visningar med pgAdmin

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.

Skapa PostgreSQL Visningar med pgAdmin

Steg 3) Gör följande för att se innehållet i vyn:

  1. Skriv in följande fråga i frågeredigeraren:
  2. SELECT *
    FROM Price_View2;
    
  3. Klicka på knappen Kör.

Skapa PostgreSQL Visningar med pgAdmin

Detta kommer att returnera följande:

Skapa PostgreSQL Visningar med pgAdmin

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)

  1. Klicka på Databaser i navigeringsfältet till vänster.
  2. Klicka på Demo.

Skiftande PostgreSQL Visningar med pgAdmin

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.

Skiftande PostgreSQL Visningar med pgAdmin

Steg 5) Skriv in följande fråga i frågeredigeraren:

SELECT * 
FROM Price_View2;

Detta kommer att returnera följande:

Skiftande PostgreSQL Visningar med pgAdmin

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)

  1. Klicka på Databaser i navigeringsfältet till vänster.
  2. Klicka på Demo.

Radera PostgreSQL Visningar med pgAdmin

Steg 3) Skriv in frågan i frågeredigeraren:

DROP VIEW Price_View2;

Steg 4) Klicka på knappen Kör.

Radera PostgreSQL Visningar med pgAdmin

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

Dagligt Guru99-nyhetsbrev

Kickstarta dagen med de senaste och viktigaste AI-nyheterna som levereras just nu.