PostgreSQL ÆNDRINGSTabel: TILFØJ kolonne, Omdøb kolonne/tabeleksempler
ALTER TABLE-kommandoen bruges til at ændre strukturen af en PostgreSQL bord. Det er den kommando, der bruges til at ændre tabelkolonnerne eller navnet på tabellen.
Syntaks
Her er syntaksen for PostgreSQL ALTER TABLE kommando:
ALTER TABLE table-name action;
Parameteren tabelnavn er navnet på tabellen, som du skal ændre.
Handlingsparameteren er den handling, du skal udføre, såsom at ændre navnet på en kolonne, ændre datatypen for en kolonne osv.
Description
ALTER TABLE-kommandoen ændrer definitionen af en eksisterende tabel. Det tager følgende underformularer:
- TILFØJ KOLONNE: dette bruger lignende syntaks som CREATE TABLE-kommandoen til at tilføje en ny kolonne til en tabel.
- SLIP KOLONNE: til at slette en tabelkolonne. De begrænsninger og indekser, der er pålagt kolonnerne, vil også blive slettet.
- INDSTIL/SLIP STANDARD: Bruges til at fjerne standardværdien for en kolonne. Ændringen vil dog kun gælde for den efterfølgende INDSÆT udsagn.
- SET/DROP IKKE NULL: Ændrer om en kolonne tillader nuller eller ej.
- SÆT STATISTIK: Til indstilling af statistikindsamlingsmål for hver kolonne for ANALYSE-operationer.
- SÆT OPBEVARING: Til indstilling af lagringstilstand for en kolonne. Dette vil afgøre, hvor kolonnen holdes, om det er inline eller i en supplerende tabel.
- SÆT UDEN OID: Bruges til at fjerne den gamle kolonne i tabellen.
- OMDØB: for at ændre tabelnavnet eller et kolonnenavn.
- ADD table_constraint: Bruges til at tilføje en ny begrænsning til en tabel Den bruger samme syntaks som Opret tabel kommando.
- DROP KONTRAST: Bruges til at fjerne en tabelbegrænsning.
- EJER: for at ændre ejeren af en tabel, sekvens, indeks eller en visning til en bestemt bruger.
- CLUSTER: til markering af en tabel, der skal bruges til at udføre fremtidige klyngeoperationer.
Ændring af en kolonne
En kolonne kan ændres på flere måder. Sådanne ændringer kan udføres ved hjælp af kommandoen ALTER TABLE. Lad os diskutere disse:
Tilføjelse af en ny kolonne
For at tilføje en ny kolonne til en PostgreSQL tabel, bruges ALTER TABLE-kommandoen med følgende syntaks:
ALTER TABLE table-name ADD new-column-name column-definition;
Tabelnavnet er navnet på den tabel, der skal ændres.
Det nye kolonnenavn er navnet på den nye kolonne, der skal tilføjes.
Kolonnedefinitionen er datatype af den nye kolonne.
Se bogtabellen nedenfor:
Tabellen har to kolonner, id og navn. Vi skal tilføje en ny kolonne til tabellen og give den navnet forfatter. Bare kør følgende kommando:
ALTER TABLE Book ADD author VARCHAR(50);
Efter at have kørt ovenstående kommando, er bogtabellen nu som følger:
Den nye kolonne blev tilføjet.
Omdøbning af en tabelkolonne
Vi kan bruge kommandoen ALTER TABLE til at ændre navnet på en kolonne. I dette tilfælde bruges kommandoen med følgende syntaks:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Tabelnavnet er navnet på den tabel, hvis kolonne skal omdøbes.
Det gamle navn er det gamle/nuværende navn på kolonnen.
Det nye navn er det nye navn på kolonnen. Overvej tabelbogen vist nedenfor:
Bestil:
Vi skal bruge navnet på spalteforfatteren til book_author. Her er kommandoen:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Efter at have kørt kommandoen kan vi se tabellens struktur:
Kolonnenavnet blev ændret.
Indstilling af en standardværdi for en kolonne
Vi kan indstille en standardværdi for en kolonne, således at selv når du ikke angiver en værdi for den kolonne under INSERT-operationer, vil standardværdien blive brugt. I dette tilfælde kan ALTER TABLE-kommandoen bruges med følgende syntaks:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Tabelnavnet er navnet på den tabel, hvis kolonne skal ændres.
Kolonnenavnet er navnet, hvis standardværdi skal indstilles.
Værdien er standardværdien for kolonnen.
Overvej bogtabellen nedenfor:
Vi skal indstille en standardværdi for kolonnen bogforfatter. Vi kan køre følgende kommando:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Lad os nu indsætte en række i tabellen:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Bemærk, at vi kun har indsat værdier for to kolonner, id og navn. Standardværdien er dog blevet brugt til bogforfatterkolonnen:
Tilføjelse af en kontrolbegrænsning
En kontrolbegrænsning hjælper med at validere de poster, der indsættes i en tabel. Vi kan gøre dette ved at kombinere ALTER TABLE-kommandoen med ADD CHECK-sætningen. Syntaks:
ALTER TABLE table-name ADD CHECK expression;
Tabelnavnet er navnet på den tabel, der skal ændres.
Udtrykket er den begrænsning, der skal pålægges tabelkolonnen.
Lad os ændre book_author-kolonnen i bogtabellen, så den kun accepterer værdierne, Nicholas og Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Lad os nu prøve at indsætte en anden værdi end Nicholas eller Samuel i book_author-kolonnen i bogtabellen:
INSERT INTO Book VALUES(7, 'Bedste PostgreSQL Book', 'Gregory Bush');
Udsagnet vil returnere følgende fejl:
Indsættelseshandlingen mislykkedes, fordi vi overtrådte kontrolbegrænsningen.
Omdøbning af en tabel
Her er syntaksen for ALTER TABLE-kommandoen til at omdøbe en tabel:
ALTER TABLE table-name RENAME TO new-table-name;
Tabelnavnet er det aktuelle navn på tabellen.
Det nye-tabel-navn er det nye navn, der skal tildeles tabellen.
Lad os for eksempel ændre navnet på bogtabellen til bøger:
ALTER TABLE Book RENAME TO Books;
Bruger pgAdmin
Lad os nu se, hvordan disse handlinger kan udføres ved hjælp af pgAdmin.
Tilføjelse af en ny kolonne
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
ALTER TABLE Book ADD author VARCHAR(50);
Trin 4) Klik på knappen Udfør.
Trin 5) For at kontrollere, om kolonnen blev tilføjet, skal du gøre følgende:
- Klik på Databaser i venstre navigation.
- Udvid Demo.
- Udvid skemaer.
- Udvid offentlig.
- Udvid tabeller.
- Udvid bogen.
- Udvid kolonner.
Kolonnen skulle være tilføjet, som vist nedenfor:
Omdøbning af en tabelkolonne
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Trin 4) Klik på knappen Udfør.
Trin 5) For at kontrollere, om ændringen lykkedes, skal du gøre følgende:
- Klik på Databaser i venstre navigation.
- Udvid Demo.
- Udvid skemaer.
- Udvid offentlig.
- Udvid tabeller.
- Udvid bogen.
- Udvid kolonner.
Kolonnerne skal nu være som følger:
Kolonnen blev ændret.
Indstilling af en standardværdi for en kolonne
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Trin 4) Klik på knappen Udfør.
Trin 5) For at teste skal du køre følgende kommando i forespørgselseditoren:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Trin 6) Nu kan vi forespørge i tabellen for at kontrollere, om standardværdien blev indsat i kolonnen bogforfatter:
Tilføjelse af en kontrolbegrænsning
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Trin 4) Klik på knappen Udfør.
Trin 5) For at teste dette skal du gøre følgende:
- Indtast følgende forespørgsel i forespørgselseditoren:
INSERT INTO Book VALUES(7, 'Bedste PostgreSQL Book', 'Gregory Bush');
- Klik på knappen Udfør.
Det vil returnere følgende:
Omdøbning af en tabel
For at opnå det samme gennem pgAdmin, gør dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Indtast forespørgslen i forespørgselseditoren:
ALTER TABLE Book RENAME TO Books;
Trin 4) Klik på knappen Udfør.
Trin 5) For at kontrollere, om tabellen blev omdøbt, skal du gøre følgende:
- Klik på Databaser i venstre navigation.
- Udvid Demo.
- Udvid skemaer.
- Udvid offentlig.
- Udvid tabeller.
Tabellen blev omdøbt.
Resumé
- ALTER TABLE-sætningen bruges til at ændre tabellens struktur.
- ALTER TABLE-kommandoen har forskellige former afhængigt af den opgave, du skal udføre.
- Strukturen kan være tabelkolonnerne eller selve tabellen.
- Vi kan bruge denne sætning til at ændre navnet på en tabel.
- ALTER TABLE-kommandoen kan bruges til at indstille standardværdien for en kolonne.
- Udsagnet kan bruges til at validere de værdier, der er indtastet i en tabelkolonne.
Download databasen brugt i denne vejledning