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:

Tilføjelse af en ny kolonne i PostgreSQL

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:

Tilføjelse af en ny kolonne i PostgreSQL

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:

Omdøbning af en tabelkolonne i PostgreSQL

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:

Omdøbning af en tabelkolonne i PostgreSQL

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:

Indstilling af en standardværdi for en kolonne

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:

Indstilling af en standardværdi for en kolonne

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:

Tilføjelse af en kontrolbegrænsning

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)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Tilføjelse af en ny kolonne ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

ALTER TABLE Book
  ADD author VARCHAR(50);

Trin 4) Klik på knappen Udfør.

Tilføjelse af en ny kolonne ved hjælp af pgAdmin

Trin 5) For at kontrollere, om kolonnen blev tilføjet, skal du gøre følgende:

  1. Klik på Databaser i venstre navigation.
  2. Udvid Demo.
  3. Udvid skemaer.
  4. Udvid offentlig.
  5. Udvid tabeller.
  6. Udvid bogen.
  7. Udvid kolonner.

Tilføjelse af en ny kolonne ved hjælp af pgAdmin

Kolonnen skulle være tilføjet, som vist nedenfor:

Tilføjelse af en ny kolonne ved hjælp af pgAdmin

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)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Omdøbning af en tabelkolonne ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Trin 4) Klik på knappen Udfør.

Omdøbning af en tabelkolonne ved hjælp af pgAdmin

Trin 5) For at kontrollere, om ændringen lykkedes, skal du gøre følgende:

  1. Klik på Databaser i venstre navigation.
  2. Udvid Demo.
  3. Udvid skemaer.
  4. Udvid offentlig.
  5. Udvid tabeller.
  6. Udvid bogen.
  7. Udvid kolonner.

Omdøbning af en tabelkolonne ved hjælp af pgAdmin

Kolonnerne skal nu være som følger:

Omdøbning af en tabelkolonne ved hjælp af pgAdmin

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)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Indstilling af en standardværdi for en kolonne

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.

Indstilling af en standardværdi for en kolonne

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:

Indstilling af en standardværdi for en kolonne

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)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Tilføjelse af en kontrolbegrænsning ved hjælp af pgAdmin

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.

Tilføjelse af en kontrolbegrænsning ved hjælp af pgAdmin

Trin 5) For at teste dette skal du gøre følgende:

  1. Indtast følgende forespørgsel i forespørgselseditoren:
    INSERT INTO Book
    VALUES(7, 'Bedste PostgreSQL Book', 'Gregory Bush');
    
  2. Klik på knappen Udfør.

    Tilføjelse af en kontrolbegrænsning ved hjælp af pgAdmin

    Det vil returnere følgende:

Tilføjelse af en kontrolbegrænsning ved hjælp af pgAdmin

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)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Omdøbning af en tabel ved hjælp af pgAdmin

Trin 3) Indtast forespørgslen i forespørgselseditoren:

ALTER TABLE Book
  RENAME TO Books;

Trin 4) Klik på knappen Udfør.

Omdøbning af en tabel ved hjælp af pgAdmin

Trin 5) For at kontrollere, om tabellen blev omdøbt, skal du gøre følgende:

  1. Klik på Databaser i venstre navigation.
  2. Udvid Demo.
  3. Udvid skemaer.
  4. Udvid offentlig.
  5. Udvid tabeller.

Omdøbning af en tabel ved hjælp af pgAdmin

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