PostgreSQL ALTER-tabell: ADD-kolumn, Byt namn på kolumn/tabellexempel
Kommandot ALTER TABLE används för att ändra strukturen för en PostgreSQL tabell. Det är kommandot som används för att ändra tabellkolumnerna eller namnet på tabellen.
syntax
Här är syntaxen för PostgreSQL ALTER TABLE kommando:
ALTER TABLE table-name action;
Parametern table-name är namnet på tabellen som du behöver ändra.
Action-parametern är den åtgärd som du behöver utföra, som att ändra namnet på en kolumn, ändra datatypen för en kolumn, etc.
BESKRIVNING
Kommandot ALTER TABLE ändrar definitionen av en befintlig tabell. Det tar följande underformulär:
- LÄGG TILL KOLUMN: detta använder liknande syntax som CREATE TABLE-kommandot för att lägga till en ny kolumn i en tabell.
- SLIPP KOLUMN: för att ta bort en tabellkolumn. De begränsningar och index som lagts på kolumnerna kommer också att tas bort.
- SET/DROPP STANDARD: Används för att ta bort standardvärdet för en kolumn. Ändringen kommer dock endast att gälla den efterföljande INFOGA uttalanden.
- SET/DROP NOT NULL: Ändrar om en kolumn tillåter null eller inte.
- STÄLL IN STATISTIK: För att ställa in statistikinsamlingsmålet för varje kolumn för ANALYSE-operationer.
- STÄLL IN FÖRVARING: För inställning av lagringsläge för en kolumn. Detta kommer att avgöra var kolumnen hålls, om den är inbäddad eller i en tilläggstabell.
- SÄTT UTAN OID: Används för att ta bort den gamla kolumnen i tabellen.
- DÖPA OM: för att ändra tabellnamnet eller ett kolumnnamn.
- ADD table_constraint: Används för att lägga till en ny begränsning i en tabell Den använder samma syntax som SKAPA BORD kommando.
- DROPKONTRAST: Används för att ta bort en tabellbegränsning.
- ÄGARE: för att ändra ägare av en tabell, sekvens, index eller en vy till en viss användare.
- KLUNGA: för att markera en tabell som ska användas för att utföra framtida klusteroperationer.
Ändra en kolumn
En kolumn kan modifieras på ett antal sätt. Sådana ändringar kan göras med kommandot ALTER TABLE. Låt oss diskutera dessa:
Lägger till en ny kolumn
För att lägga till en ny kolumn i en PostgreSQL tabell används kommandot ALTER TABLE med följande syntax:
ALTER TABLE table-name ADD new-column-name column-definition;
Tabellnamnet är namnet på tabellen som ska ändras.
Det nya kolumnnamnet är namnet på den nya kolumnen som ska läggas till.
Kolumndefinitionen är data typ av den nya kolumnen.
Se boktabellen nedan:
Tabellen har två kolumner, id och namn. Vi måste lägga till en ny kolumn i tabellen och ge den namnet författare. Kör bara följande kommando:
ALTER TABLE Book ADD author VARCHAR(50);
Efter att ha kört kommandot ovan är boktabellen nu som följer:
Den nya kolumnen lades till.
Byta namn på en tabellkolumn
Vi kan använda kommandot ALTER TABLE för att ändra namnet på en kolumn. I det här fallet används kommandot med följande syntax:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Tabellnamnet är namnet på tabellen vars kolumn ska döpas om.
Det gamla namnet är det gamla/nuvarande namnet på kolumnen.
Det nya namnet är det nya namnet på kolumnen. Tänk på tabellboken som visas nedan:
Bok:
Vi behöver namnet på kolumnförfattaren till book_author. Här är kommandot:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Efter att ha kört kommandot kan vi se tabellens struktur:
Kolumnnamnet har ändrats.
Ställa in ett standardvärde för en kolumn
Vi kan ställa in ett standardvärde för en kolumn så att även när du inte anger ett värde för den kolumnen under INSERT-operationer kommer standardvärdet att användas. I det här fallet kan kommandot ALTER TABLE användas med följande syntax:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Tabellnamnet är namnet på tabellen vars kolumn ska ändras.
Kolumnnamnet är namnet för vars standardvärde ska ställas in.
Värdet är standardvärdet för kolumnen.
Tänk på boktabellen nedan:
Vi måste ställa in ett standardvärde för kolumnen book_author. Vi kan köra följande kommando:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Låt oss nu infoga en rad i tabellen:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Observera att vi endast infogade värden för två kolumner, id och namn. Standardvärdet har dock använts för kolumnen book_author:
Lägga till en kontrollbegränsning
En kontrollbegränsning hjälper till att validera de poster som infogas i en tabell. Vi kan göra detta genom att kombinera kommandot ALTER TABLE med ADD CHECK-satsen. Syntax:
ALTER TABLE table-name ADD CHECK expression;
Tabellnamnet är namnet på tabellen som ska ändras.
Uttrycket är den begränsning som ska läggas på tabellkolumnen.
Låt oss ändra kolumnen book_author i boktabellen så att den bara accepterar värdena, Nicholas och Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Låt oss nu försöka infoga ett annat värde än Nicholas eller Samuel i book_author-kolumnen i boktabellen:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Uttalandet kommer att returnera följande fel:
Infogningen misslyckades eftersom vi brutit mot kontrollbegränsningen.
Byta namn på en tabell
Här är syntaxen för kommandot ALTER TABLE för att byta namn på en tabell:
ALTER TABLE table-name RENAME TO new-table-name;
Tabellnamnet är det aktuella namnet på tabellen.
Det nya tabellnamnet är det nya namnet som ska tilldelas tabellen.
Låt oss till exempel ändra namnet på boktabellen till böcker:
ALTER TABLE Book RENAME TO Books;
Använder pgAdmin
Låt oss nu se hur dessa åtgärder kan utföras med pgAdmin.
Lägger till en ny kolumn
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:
ALTER TABLE Book ADD author VARCHAR(50);
Steg 4) Klicka på knappen Kör.
Steg 5) Gör följande för att kontrollera om kolumnen har lagts till:
- Klicka på Databaser i den vänstra navigeringen.
- Expandera Demo.
- Expandera scheman.
- Expandera offentligt.
- Expandera tabeller.
- Utöka boken.
- Expandera kolumner.
Kolumnen borde ha lagts till, som visas nedan:
Byta namn på en tabellkolumn
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:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Steg 4) Klicka på knappen Kör.
Steg 5) För att kontrollera om ändringen lyckades, gör följande:
- Klicka på Databaser i den vänstra navigeringen.
- Expandera Demo.
- Expandera scheman.
- Expandera offentligt.
- Expandera tabeller.
- Utöka boken.
- Expandera kolumner.
Kolumnerna ska nu vara följande:
Kolumnen har ändrats.
Ställa in ett standardvärde för en kolumn
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:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Steg 4) Klicka på knappen Kör.
Steg 5) För att testa, kör följande kommando i frågeredigeraren:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Steg 6) Nu kan vi fråga tabellen för att kontrollera om standardvärdet infogades i kolumnen book_author:
Lägga till en kontrollbegränsning
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:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Steg 4) Klicka på knappen Kör.
Steg 5) För att testa detta, gör följande:
- Skriv följande fråga i frågeredigeraren:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Klicka på knappen Kör.
Det kommer att returnera följande:
Byta namn på en tabell
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:
ALTER TABLE Book RENAME TO Books;
Steg 4) Klicka på knappen Kör.
Steg 5) För att kontrollera om tabellen har bytt namn, gör följande:
- Klicka på Databaser i den vänstra navigeringen.
- Expandera Demo.
- Expandera scheman.
- Expandera offentligt.
- Expandera tabeller.
Tabellen har bytt namn.
Sammanfattning
- ALTER TABLE-satsen används för att ändra tabellens struktur.
- Kommandot ALTER TABLE har olika former beroende på vilken uppgift du behöver utföra.
- Strukturen kan vara tabellkolumnerna eller själva tabellen.
- Vi kan använda den här satsen för att ändra namnet på en tabell.
- Kommandot ALTER TABLE kan användas för att ställa in standardvärdet för en kolumn.
- Satsen kan användas för att validera de värden som anges i en tabellkolumn.
Ladda ner den databas som används i denna handledning