PostgreSQL ENDRE TABELL: Legg til og gi nytt navn til kolonne
⚡ Smart oppsummering
PostgreSQL ALTER TABLE endrer strukturen til en eksisterende tabell, slik at du kan legge til eller slette kolonner, gi nytt navn til en kolonne eller hele tabellen, angi standardverdier og legge til kontrollbegrensninger uten å opprette objektet på nytt.

Hva er ALTER TABLE i PostgreSQL?
Ocuco ALTER TABLE kommandoen brukes til å endre strukturen til en PostgreSQL tabell. Det er kommandoen som brukes til å endre tabellkolonnene eller navnet på selve tabellen, uten å sletteping og gjenskape objektet.
syntax
Her er syntaksen for PostgreSQL ALTER TABLE kommando:
ALTER TABLE table-name action;
Parameteren table-name er navnet på tabellen du må endre. Parameteren action er handlingen du må utføre, for eksempel å endre navnet på en kolonne eller endre datatypen til en kolonne.
Tekniske beskrivelser
ALTER TABLE-kommandoen endrer definisjonen av en eksisterende tabell. Det tar følgende underskjemaer:
- LEGG TIL KOLONNEDenne bruker lignende syntaks som CREATE TABLE-kommandoen for å legge til en ny kolonne i en tabell.
- DROPPE KOLONNE: for slippping en tabellkolonne. Begrensningene og indeksene som er pålagt kolonnene, vil også bli fjernet.
- SET/DROPP STANDARDbrukes til å angi eller fjerne standardverdien for en kolonne. Endringen gjelder bare for påfølgende INSERT setninger.
- SET/DROP NOT NULL: endrer om en kolonne tillater nullverdier eller ikke.
- ANGI STATISTIKK: for å angi målet for statistikkinnsamling for hver kolonne for ANALYZE-operasjoner.
- STILL LAGRING: for å angi lagringsmodus for en kolonne, enten innebygd eller i en tilleggstabell.
- SATT UTEN OIDbrukes til å fjerne den gamle OID-kolonnen i tabellen.
- RENAME: for å endre tabellnavnet eller et kolonnenavn.
- ADD table_constraint: brukes til å legge til en ny begrensning i en tabell. Den bruker samme syntaks som LAG TABELL kommando.
- DROPKONTRASTbrukes til slippping en tabellbegrensning.
- EIER: for å endre eieren av en tabell, sekvens, indeks eller visning til en bestemt bruker.
- CLUSTER: for å markere en tabell som skal brukes til fremtidige klyngeoperasjoner.
Endre en kolonne
En kolonne kan endres på en rekke måter. Slike endringer gjøres ved hjelp av ALTER TABLE-kommandoen. La oss diskutere disse nedenfor.
Legge til en ny kolonne
For å legge til en ny kolonne i en PostgreSQL tabell, brukes ALTER TABLE-kommandoen med følgende syntaks:
ALTER TABLE table-name ADD new-column-name column-definition;
Tabellnavnet er navnet på tabellen som skal endres. Det nye kolonnenavnet er navnet på den nye kolonnen som skal legges til. Kolonnedefinisjonen er data-type for den nye kolonnen. Se boktabellen vist nedenfor:
Tabellen har to kolonner, id og name. Vi må legge til en ny kolonne i tabellen og gi den navnet author. Bare kjør følgende kommando:
ALTER TABLE Book ADD author VARCHAR(50);
Etter å ha kjørt kommandoen ovenfor, er boktabellen nå som følger:
Den nye kolonnen ble lagt til.
Gi nytt navn til en tabellkolonne
Vi kan bruke ALTER TABLE-kommandoen til å endre navnet på en kolonne. I dette tilfellet brukes kommandoen med følgende syntaks:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Tabellnavnet er navnet på tabellen hvis kolonne skal gis nytt navn. Gammelt navn er det nåværende navnet på kolonnen, og nytt navn er det nye navnet på kolonnen. Tenk på tabellboken vist nedenfor:
Bok:
Vi må endre navnet på kolonneforfatteren til book_author. Her er kommandoen:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Etter å ha kjørt kommandoen, kan vi se strukturen til tabellen:
Kolonnenavnet ble endret.
Angi en standardverdi for en kolonne
Vi kan angi en standardverdi for en kolonne, slik at selv om du ikke angir en verdi for kolonnen under INSERT-operasjoner, vil standardverdien bli brukt. I dette tilfellet kan ALTER TABLE-kommandoen brukes med følgende syntaks:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Tabellnavnet er navnet på tabellen hvis kolonne skal endres. Kolonnenavnet er navnet på kolonnen hvis standardverdi skal angis, og verdien er standardverdien for kolonnen. Tenk deg boktabellen nedenfor:
Vi må angi en standardverdi for book_author-kolonnen. Vi kan kjøre følgende kommando:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
La oss nå sette inn en rad i tabellen:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Merk at vi bare har satt inn verdier for to kolonner, id og name. Standardverdien er imidlertid brukt for book_author-kolonnen:
Legge til en sjekkbegrensning
En kontrollbegrensning hjelper til med å validere postene som settes inn i en tabell. Vi kan gjøre dette ved å kombinere ALTER TABLE-kommandoen med ADD CHECK-setningen. Syntaks:
ALTER TABLE table-name ADD CHECK expression;
Tabellnavnet er navnet på tabellen som skal endres, og uttrykket er begrensningen som skal legges på tabellkolonnen. La oss endre book_author-kolonnen i boktabellen slik at den bare godtar verdiene Nicholas og Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
La oss nå prøve å sette inn en annen verdi enn Nicholas eller Samuel i book_author-kolonnen i boktabellen:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Utsagnet vil returnere følgende feil:
Innsettingsoperasjonen mislyktes fordi vi brøt kontrollbegrensningen.
Gi nytt navn til en tabell
Her er syntaksen for ALTER TABLE-kommandoen for å gi nytt navn til en tabell:
ALTER TABLE table-name RENAME TO new-table-name;
Tabellnavnet er det nåværende navnet på tabellen, og det nye tabellnavnet er det nye navnet som skal tilordnes tabellen. La oss for eksempel endre navnet på boktabellen til bøker:
ALTER TABLE Book RENAME TO Books;
Bruker pgAdmin
Så langt har handlingene blitt kjørt fra SQL-skallet. La oss nå se hvordan de samme handlingene kan utføres visuelt ved hjelp av pgAdmin.
Legge til en ny kolonne
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
ALTER TABLE Book ADD author VARCHAR(50);
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) For å sjekke om kolonnen ble lagt til, gjør følgende:
- Klikk på Databaser fra venstre navigering.
- Utvid Demo.
- Utvid skjemaer.
- Utvid offentlig.
- Utvid tabeller.
- Utvid boken.
- Utvid kolonner.
Kolonnen skulle ha blitt lagt til, som vist nedenfor:
Gi nytt navn til en tabellkolonne
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) For å sjekke om endringen var vellykket, utvider du boktabellkolonnene som før:
Kolonnene skal nå være som følger:
Kolonnen ble endret.
Angi en standardverdi for en kolonne
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) For å teste, kjør følgende kommando i spørreredigeringsprogrammet:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Trinn 6) Nå kan vi spørre tabellen for å sjekke om standardverdien ble satt inn i book_author-kolonnen:
Legge til en sjekkbegrensning
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) For å teste dette, skriv inn følgende spørring i spørreredigeringsprogrammet og klikk på Utfør-knappen:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Det vil returnere følgende:
Gi nytt navn til en tabell
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
ALTER TABLE Book RENAME TO Books;
Trinn 4) Klikk på Utfør-knappen.
Trinn 5) For å sjekke om tabellen har fått nytt navn, utvid Databaser > Demo > Skjemaer > Offentlig > Tabeller:
Tabellen ble omdøpt.
Last ned databasen som brukes i denne opplæringen

























