PostgreSQL ÄNDRING AV TABELL: Lägg till och byt namn på kolumn
⚡ Smart sammanfattning
PostgreSQL ALTER TABLE ändrar strukturen i en befintlig tabell, vilket låter dig lägga till eller ta bort kolumner, byta namn på en kolumn eller hela tabellen, ange standardvärden och koppla kontrollbegränsningar utan att återskapa objektet.

Vad är ALTER TABLE i PostgreSQL?
Ocuco-landskapet ALTER TABLE kommandot används för att ändra strukturen hos en PostgreSQL tabell. Det är kommandot som används för att ändra tabellkolumnerna eller namnet på själva tabellen, utan att släppaping och återskapa objektet.
syntax
Här är syntaxen för PostgreSQL ALTER TABLE kommando:
ALTER TABLE table-name action;
Parametern table-name är namnet på den tabell som du behöver ändra. Parametern action är den åtgärd du behöver utföra, till exempel att ändra namnet på en kolumn eller ändra datatypen för en kolumn.
BESKRIVNING
Kommandot ALTER TABLE ändrar definitionen av en befintlig tabell. Det tar följande underformulär:
- LÄGG TILL KOLUMNDetta använder liknande syntax som CREATE TABLE-kommandot för att lägga till en ny kolumn i en tabell.
- SLIPP KOLUMNför droppeping en tabellkolumn. De begränsningar och index som tillämpas på kolumnerna kommer också att tas bort.
- SET/DROPP STANDARD: används för att ställa in eller ta bort standardvärdet för en kolumn. Ändringen gäller endast för efterföljande INFOGA uttalanden.
- SET/DROP NOT NULL: ändrar om en kolumn tillåter null-värden eller inte.
- STÄLL IN STATISTIK: för att ställa in målet för statistikinsamling för varje kolumn för ANALYZE-operationer.
- STÄLL IN FÖRVARING: för att ställa in lagringsläge för en kolumn, oavsett om det är inline eller i en kompletterande tabell.
- SÄTT UTAN OIDanvänds för att ta bort den gamla OID-kolumnen i tabellen.
- DÖPA OM: för att ändra tabellnamnet eller ett kolumnnamn.
- ADD table_constraintanvänds för att lägga till en ny begränsning i en tabell. Den använder samma syntax som SKAPA BORD kommando.
- DROPKONTRASTanvänds för att släppaping en tabellbegränsning.
- ÄGARE: för att ändra ägaren av en tabell, sekvens, index eller vy till en viss användare.
- KLUNGA: för att markera en tabell som ska användas för framtida klusteråtgärder.
Ändra en kolumn
En kolumn kan ändras på flera olika sätt. Sådana ändringar görs med hjälp av kommandot ALTER TABLE. Låt oss diskutera dessa nedan.
Lägga 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 för den nya kolumnen. Se boktabellen nedan:
Tabellen har två kolumner, id och name. Vi behöver lägga till en ny kolumn i tabellen och ge den namnet author. 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 bytas namn. Gammalt namn är kolumnens nuvarande namn och nytt namn är kolumnens nya namn. Betrakta tabellboken som visas nedan:
Bok:
Vi behöver ändra namnet på kolumnens författare 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 ange ett standardvärde för en kolumn så att även om du inte anger något värde för den kolumnen under INSERT-operationer, kommer standardvärdet att användas. I det här fallet kan ALTER TABLE-kommandot 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 på kolumnen vars standardvärde ska anges, och värdet är standardvärdet för kolumnen. Betrakta 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 bara infogade värden för två kolumner, id och name. 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å den tabell som ska ändras, och uttrycket är den begränsning som ska tillämpas på tabellkolumnen. Låt oss modifiera kolumnen book_author i tabellen Book 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 tabellens nuvarande namn och 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
Hittills har åtgärderna körts från SQL-skalet. Nu ska vi se hur samma åtgärder kan utföras visuellt med hjälp av pgAdmin.
Lägga till en ny kolumn
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
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, expandera boktabellens kolumner som tidigare:
Kolumnerna ska nu vara följande:
Kolumnen har ändrats.
Ställa in ett standardvärde för en kolumn
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
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, skriv följande fråga i frågeredigeraren och klicka på knappen Kör:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Det kommer att returnera följande:
Byta namn på en tabell
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, expandera Databaser > Demo > Scheman > Offentliga > Tabeller:
Tabellen har bytt namn.
Ladda ner den databas som används i denna handledning

























