Sådan tilføjes eller fjernes kolonner i PostgreSQL med ALTER TABLE
Med kommandoen ALTER TABLE i PostgreSQL kan du tilføje eller ændre kolonner i databasetabeller.
Hvad er PostgreSQL ALTER TABLE?
Kommandoen ALTER TABLE i PostgreSQL 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 begrænsninger på en tabel i databasestyringssystemet. For at bruge denne kommando skal du kombinere den med en bestemt handling.
Hvordan skriver man tallet ALTER TABLE?
For at få en bedre forståelse af, hvordan man bruger ALTER TABLE, skal vi først se på dens syntaks:
ALTER TABLE table_name action;postgresqlEfter kommandoen skal du angive navnet på den tabel, du vil ændre, og vælge den handling, der passer til de ændringer, du ønsker at foretage.
For at oprette en ny tabel kan du bruge kommandoen CREATE TABLE i PostgreSQL.
Eksempler på PostgreSQL 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 | Northampton |
| 2 | Johnson | Edinburgh |
| 3 | Smith | Brighton |
Vi kan tilpasse denne tabel på forskellige måder ved hjælp af ALTER TABLE.
Tilføjelse af en kolonne i PostgreSQL ADD COLUMN
For at tilføje en ny kolonne skal du bruge ALTER TABLE sammen med PostgreSQL’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;postgresqlHer er et eksempel på, hvordan du kan tilføje en adressekolonne til tabellen customers:
ALTER TABLE customers ADD COLUMN address VARCHAR(255);postgresqlSådan ser tabellen ud nu:
| id | navn | by | adresse |
|---|---|---|---|
| 1 | Lee | Northampton | 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 handlingen DROP COLUMN. Her skal du blot angive kolonnenavnet som parameter:
ALTER TABLE table_name DROP COLUMN column_name;postgresqlBrug følgende kode for at fjerne kolonne city:
ALTER TABLE customers DROP COLUMN city;postgresqlDette 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 eksisterende kolonne. Dette kan være et godt alternativ 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;postgresqlDu kan for eksempel ændre kolonne name til customer_name:
ALTER TABLE customers RENAME COLUMN name TO customer_name;postgresqlSådan ser tabellen ud nu:
| id | kundens_navn | adresse |
|---|---|---|
| 1 | Lee | NULL |
| 2 | Johnson | NULL |
| 3 | Smith | NULL |
Yderligere PostgreSQL-handlinger for ALTER TABLE
Her er nogle andre vigtige funktioner, du kan bruge med ALTER TABLE:
Ændring af en kolonnens datatype:
ALTER TABLE table_name ALTER COLUMN column_name TYPE data_type;postgresqlSikre sig, at alle poster i en kolonne har en værdi:
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;postgresqlFastlæggelse af begrænsninger 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;postgresql