Hur man lägger till eller tar bort kolumner i PostgreSQL med ALTER TABLE
Med kommandot ALTER TABLE i PostgreSQL kan du lägga till eller ändra kolumner i databastabeller.
Vad är PostgreSQL ALTER TABLE?
Kommandot ALTER TABLE i PostgreSQL kan användas för att ändra tabeller i en databas. Med detta kommando kan du lägga till, ta bort eller justera kolumner i en tabell efter behov. Det kan också användas för att implementera eller upphäva begränsningar för en tabell i databashanteringssystemet. För att använda detta kommando måste du kombinera det med en specifik åtgärd.
Vad är syntaxen för ALTER TABLE?
För att få en bättre förståelse för hur man använder ALTER TABLE, låt oss först titta på dess syntax:
ALTER TABLE table_name action;postgresqlEfter kommandot måste du ange namnet på tabellen du vill ändra och välja motsvarande åtgärd för de ändringar du vill göra.
För att skapa en ny tabell kan du använda kommandot CREATE TABLE i PostgreSQL.
PostgreSQL ALTER TABLE exempel
Nedan visar vi hur ALTER TABLE fungerar med ett enkelt exempel. Vi använder en tabell med namnet customers som har tre kolumner och tre rader:
| id | namn | stad |
|---|---|---|
| 1 | Lee | Northampton |
| 2 | Johnson | Edinburgh |
| 3 | Smith | Brighton |
Vi kan justera denna tabell på olika sätt med hjälp av ALTER TABLE.
Lägga till en kolumn med PostgreSQL ADD COLUMN
För att lägga till en ny kolumn använder du ALTER TABLE i kombination med PostgreSQL:s ADD COLUMN. Denna åtgärd kräver två parametrar: namnet på den nya kolumnen och dess datatyp. Syntaxen är följande:
ALTER TABLE table_name ADD COLUMN column_name data_type;postgresqlHär är ett exempel på hur du kan lägga till en adresskolumn i tabellen customers:
ALTER TABLE customers ADD COLUMN address VARCHAR(255);postgresqlSå här ser tabellen ut nu:
| id | namn | stad | adress |
|---|---|---|---|
| 1 | Lee | Northampton | NULL |
| 2 | Johnson | Edinburgh | NULL |
| 3 | Smith | Brighton | NULL |
Ta bort en kolumn med DROP COLUMN
För att ta bort en kolumn från en tabell använder du ALTER TABLE med åtgärden DROP COLUMN. Här behöver du bara lägga till kolumnnamnet som parameter:
ALTER TABLE table_name DROP COLUMN column_name;postgresqlFör att ta bort kolumn city använder du följande kod:
ALTER TABLE customers DROP COLUMN city;postgresqlDetta reducerar tabellen till tre kolumner:
| id | namn | adress |
|---|---|---|
| 1 | Lee | NULL |
| 2 | Johnson | NULL |
| 3 | Smith | NULL |
Byta namn på en kolumn med RENAME COLUMN
Du kan också byta namn på en befintlig kolumn. Detta kan vara ett bra alternativ till att ta bort kolumner och sedan lägga till dem igen. Syntaxen för RENAME COLUMN är:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;postgresqlDu kan till exempel ändra kolumn name till customer_name:
ALTER TABLE customers RENAME COLUMN name TO customer_name;postgresqlSå här ser tabellen ut nu:
| id | kundnamn | adress |
|---|---|---|
| 1 | Lee | NULL |
| 2 | Johnson | NULL |
| 3 | Smith | NULL |
Ytterligare PostgreSQL-åtgärder för ALTER TABLE
Här är några andra viktiga åtgärder som du kan använda med ALTER TABLE:
Ändra datatypen för en kolumn:
ALTER TABLE table_name ALTER COLUMN column_name TYPE data_type;postgresqlSe till att varje post i en kolumn har ett värde:
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;postgresqlFastställande av begränsningar såsom UNIQUE eller PRIMARY KEY genom att använda ALTER TABLE med ADD CONSTRAINT:
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;postgresql