Med kom­man­do­en ALTER TABLE i Po­st­greSQL kan du tilføje eller ændre kolonner i da­ta­ba­se­ta­bel­ler.

Hvad er Po­st­greSQL ALTER TABLE?

Kom­man­do­en ALTER TABLE i Po­st­greSQL kan bruges til at ændre tabeller i en database. Med denne kommando kan du tilføje, fjerne eller ændre kolonner i en tabel efter behov. Den kan også bruges til at indføre eller ophæve be­græns­nin­ger på en tabel i da­ta­ba­sesty­rings­sy­ste­met. For at bruge denne kommando skal du kombinere den med en bestemt handling.

Hvordan skriver man tallet ALTER TABLE?

For at få en bedre for­stå­el­se af, hvordan man bruger ALTER TABLE, skal vi først se på dens syntaks:

ALTER TABLE table_name action;
po­st­gresql

Efter kom­man­do­en skal du angive navnet på den tabel, du vil ændre, og vælge den handling, der passer til de ændringer, du ønsker at foretage.

Tip

For at oprette en ny tabel kan du bruge kom­man­do­en CREATE TABLE i Po­st­greSQL.

Eksempler på Po­st­greSQL ALTER TABLE

Nedenfor viser vi, hvordan ALTER TABLE fungerer, ved hjælp af et simpelt eksempel. Vi bruger en tabel ved navn customers, der har tre kolonner og tre rækker:

id navn by
1 Lee Nort­hamp­ton
2 Johnson Edinburgh
3 Smith Brighton

Vi kan tilpasse denne tabel på for­skel­li­ge måder ved hjælp af ALTER TABLE.

Til­fø­jel­se af en kolonne i Po­st­greSQL ADD COLUMN

For at tilføje en ny kolonne skal du bruge ALTER TABLE sammen med Po­st­greSQL’s ADD COLUMN. Denne handling kræver to parametre: navnet på den nye kolonne og dens datatype. Syntaksen er som følger:

ALTER TABLE table_name ADD COLUMN column_name data_type;
po­st­gresql

Her er et eksempel på, hvordan du kan tilføje en adres­se­ko­lon­ne til tabellen customers:

ALTER TABLE customers ADD COLUMN address VARCHAR(255);
po­st­gresql

Sådan ser tabellen ud nu:

id navn by adresse
1 Lee Nort­hamp­ton NULL
2 Johnson Edinburgh NULL
3 Smith Brighton NULL

Fjernelse af en kolonne med DROP COLUMN

For at fjerne en kolonne fra en tabel skal du bruge ALTER TABLE sammen med hand­lin­gen DROP COLUMN. Her skal du blot angive ko­lon­ne­nav­net som parameter:

ALTER TABLE table_name DROP COLUMN column_name;
po­st­gresql

Brug følgende kode for at fjerne kolonne city:

ALTER TABLE customers DROP COLUMN city;
po­st­gresql

Dette reducerer tabellen til tre kolonner:

id navn adresse
1 Lee NULL
2 Johnson NULL
3 Smith NULL

Omdøbning af en kolonne med RENAME COLUMN

Du kan også omdøbe en ek­si­ste­ren­de kolonne. Dette kan være et godt al­ter­na­tiv til at slette kolonner og derefter tilføje dem igen. Syntaksen for RENAME COLUMN er:

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
po­st­gresql

Du kan for eksempel ændre kolonne name til customer_name:

ALTER TABLE customers RENAME COLUMN name TO customer_name;
po­st­gresql

Sådan ser tabellen ud nu:

id kundens_navn adresse
1 Lee NULL
2 Johnson NULL
3 Smith NULL

Yder­li­ge­re Po­st­greSQL-hand­lin­ger for ALTER TABLE

Her er nogle andre vigtige funk­tio­ner, du kan bruge med ALTER TABLE:

Ændring af en kolonnens datatype:

ALTER TABLE table_name ALTER COLUMN column_name TYPE data_type;
po­st­gresql

Sikre sig, at alle poster i en kolonne har en værdi:

ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;
po­st­gresql

Fast­læg­gel­se af be­græns­nin­ger som f.eks. UNIQUE eller PRIMARY KEY ved hjælp af ALTER TABLE sammen med ADD CONSTRAINT:

ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
po­st­gresql
Gå til ho­ved­me­nu­en