PostgreSQL ALTER Table: ADD Column, Redenumiți coloană/Exemple de tabel

Comanda ALTER TABLE este folosită pentru a modifica structura unui PostgreSQL masa. Este comanda folosită pentru a schimba coloanele tabelului sau numele tabelului.

Sintaxă

Iată sintaxa pentru PostgreSQL Comanda ALTER TABLE:

ALTER TABLE table-name action;

Parametrul table-name este numele tabelului pe care trebuie să îl modificați.

Parametrul de acțiune este acțiunea pe care trebuie să o efectuați, cum ar fi schimbarea numelui unei coloane, schimbarea tipului de date al unei coloane etc.

Descriere

Comanda ALTER TABLE modifică definiția unui tabel existent. Ia următoarele subforme:

  • Adăugați o coloană: aceasta folosește o sintaxă similară cu comanda CREATE TABLE pentru a adăuga o nouă coloană la un tabel.
  • COLOCARE COLONA: pentru eliminarea unei coloane de tabel. Constrângerile și indecșii impusi coloanelor vor fi, de asemenea, eliminate.
  • SET/DROP IMPLICIT: Utilizați pentru a elimina valoarea implicită pentru o coloană. Cu toate acestea, modificarea se va aplica numai pentru cele ulterioare INSERT instrucțiuni.
  • SET/DROP NOT NULL: modifică dacă o coloană va permite valorile nule sau nu.
  • SETARE STATISTICI: Pentru setarea țintei de colectare a statisticilor pentru fiecare coloană pentru operațiunile ANALYZE.
  • SETARE DEPOZITARE: Pentru setarea modului de stocare pentru o coloană. Aceasta va determina unde este ținută coloana, fie în linie, fie într-un tabel suplimentar.
  • SET FĂRĂ OIDURI: Utilizați pentru a elimina vechea coloană a tabelului.
  • REDENUMIȚI: pentru schimbarea numelui tabelului sau al unei coloane.
  • ADD table_constraint: Utilizați pentru adăugarea unei noi constrângeri la un tabel. Folosește aceeași sintaxă ca CREAȚI TABEL comanda.
  • DRAP CONSTRAINT: Utilizați pentru eliminarea unei constrângeri de tabel.
  • PROPRIETAR: pentru schimbarea proprietarului unui tabel, secvență, index sau vizualizare la un anumit utilizator.
  • CURSE: pentru marcarea unui tabel care va fi utilizat pentru efectuarea viitoarelor operațiuni cluster.

Modificarea unei coloane

O coloană poate fi modificată în mai multe moduri. Astfel de modificări pot fi făcute folosind comanda ALTER TABLE. Să discutăm despre acestea:

Adăugarea unei coloane noi

Pentru a adăuga o nouă coloană la a PostgreSQL tabel, comanda ALTER TABLE este utilizată cu următoarea sintaxă:

ALTER TABLE table-name
  ADD new-column-name column-definition;

Numele tabelului este numele tabelului care trebuie modificat.

New-column-name este numele noii coloane care urmează să fie adăugată.

Definiția-coloană este tip de date a noii coloane.

Vezi tabelul de carte prezentat mai jos:

Adăugarea unei coloane noi în PostgreSQL

Tabelul are două coloane, id și nume. Trebuie să adăugăm o nouă coloană la tabel și să îi dăm numele autorului. Doar rulați următoarea comandă:

ALTER TABLE Book
  ADD author VARCHAR(50);

După rularea comenzii de mai sus, tabelul Book este acum după cum urmează:

Adăugarea unei coloane noi în PostgreSQL

Noua coloană a fost adăugată cu succes.

Redenumirea unei coloane de tabel

Putem folosi comanda ALTER TABLE pentru a schimba numele unei coloane. În acest caz, comanda este utilizată cu următoarea sintaxă:

ALTER TABLE table-name
  RENAME COLUMN old-name TO new-name;

Numele tabelului este numele tabelului a cărui coloană urmează să fie redenumită.

Numele vechi este numele vechi/actual al coloanei.

New-name este noul nume al coloanei. Luați în considerare cartea tabelului prezentată mai jos:

Carte:

Redenumirea unei coloane de tabel în PostgreSQL

Avem nevoie de numele autorului coloanei pentru book_author. Iată comanda:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

După rularea comenzii, putem vizualiza structura tabelului:

Redenumirea unei coloane de tabel în PostgreSQL

Numele coloanei a fost schimbat cu succes.

Setarea unei valori implicite pentru o coloană

Putem seta o valoare implicită pentru o coloană astfel încât, chiar și atunci când nu specificați o valoare pentru acea coloană în timpul operațiunilor de INSERT, valoarea implicită să fie utilizată. În acest caz, comanda ALTER TABLE poate fi utilizată cu următoarea sintaxă:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

Numele tabelului este numele tabelului a cărui coloană urmează să fie modificată.

Numele-coloană este numele pentru a cărui valoare implicită trebuie setată.

Valoarea este valoarea implicită pentru coloană.

Luați în considerare tabelul Cărții de mai jos:

Setarea unei valori implicite pentru o coloană

Trebuie să setăm o valoare implicită pentru coloana book_author. Putem rula următoarea comandă:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

Acum, să inserăm un rând în tabel:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners');

Rețineți că am inserat valori pentru doar două coloane, id și nume. Cu toate acestea, valoarea implicită a fost folosită pentru coloana book_author:

Setarea unei valori implicite pentru o coloană

Adăugarea unei constrângeri de verificare

O constrângere de verificare ajută la validarea înregistrărilor care sunt inserate într-un tabel. Putem face acest lucru combinând comanda ALTER TABLE cu instrucțiunea ADD CHECK. Sintaxă:

ALTER TABLE table-name ADD CHECK expression;

Numele tabelului este numele tabelului care trebuie modificat.

Expresia este constrângerea care trebuie impusă coloanei tabelului.

Să modificăm coloana book_author din tabelul Book, astfel încât să accepte doar valorile, Nicholas și Samuel:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

Acum, să încercăm să inserăm o altă valoare decât Nicholas sau Samuel în coloana book_author a tabelului Book:

INSERT INTO Book
VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Declarația va returna următoarea eroare:

Adăugarea unei constrângeri de verificare

Operația de inserare a eșuat deoarece am încălcat constrângerea de verificare.

Redenumirea unui tabel

Iată sintaxa pentru comanda ALTER TABLE pentru redenumirea unui tabel:

ALTER TABLE table-name
  RENAME TO new-table-name;

Numele tabelului este numele curent al tabelului.

New-table-name este noul nume care trebuie atribuit tabelului.

De exemplu, să schimbăm numele tabelului Cărți în Cărți:

ALTER TABLE Book
  RENAME TO Books;

Folosind pgAdmin

Acum să vedem cum pot fi efectuate aceste acțiuni folosind pgAdmin.

Adăugarea unei coloane noi

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Adăugarea unei coloane noi utilizând pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

ALTER TABLE Book
  ADD author VARCHAR(50);

Pas 4) Faceți clic pe butonul Execute.

Adăugarea unei coloane noi utilizând pgAdmin

Pas 5) Pentru a verifica dacă coloana a fost adăugată, procedați în felul următor:

  1. Faceți clic pe Baze de date din panoul de navigare din stânga.
  2. Extindeți Demo.
  3. Extinde Schemele.
  4. Extindeți Public.
  5. Extindeți Tabele.
  6. Extinde cartea.
  7. Extinde Coloane.

Adăugarea unei coloane noi utilizând pgAdmin

Coloana ar fi trebuit adăugată, după cum se arată mai jos:

Adăugarea unei coloane noi utilizând pgAdmin

Redenumirea unei coloane de tabel

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Redenumirea unei coloane de tabel utilizând pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Pas 4) Faceți clic pe butonul Execute.

Redenumirea unei coloane de tabel utilizând pgAdmin

Pas 5) Pentru a verifica dacă modificarea a avut succes, procedați în felul următor:

  1. Faceți clic pe Baze de date din panoul de navigare din stânga.
  2. Extindeți Demo.
  3. Extinde Schemele.
  4. Extindeți Public.
  5. Extindeți Tabele.
  6. Extinde cartea.
  7. Extinde Coloane.

Redenumirea unei coloane de tabel utilizând pgAdmin

Coloanele ar trebui să fie acum după cum urmează:

Redenumirea unei coloane de tabel utilizând pgAdmin

Coloana a fost schimbată cu succes.

Setarea unei valori implicite pentru o coloană

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Setarea unei valori implicite pentru o coloană

Pas 3) Introduceți interogarea în editorul de interogări:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

Pas 4) Faceți clic pe butonul Execute.

Setarea unei valori implicite pentru o coloană

Pas 5) Pentru a testa, executați următoarea comandă în editorul de interogări:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners')

Pas 6) Acum, putem interoga tabelul pentru a verifica dacă valoarea implicită a fost inserată în coloana book_author:

Setarea unei valori implicite pentru o coloană

Adăugarea unei constrângeri de verificare

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Adăugarea unei constrângeri de verificare utilizând pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Pas 4) Faceți clic pe butonul Execute.

Adăugarea unei constrângeri de verificare utilizând pgAdmin

Pas 5) Pentru a testa acest lucru, faceți următoarele:

  1. Tastați următoarea interogare în editorul de interogări:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Faceți clic pe butonul Execute.

    Adăugarea unei constrângeri de verificare utilizând pgAdmin

    Va returna următoarele:

Adăugarea unei constrângeri de verificare utilizând pgAdmin

Redenumirea unui tabel

Pentru a realiza același lucru prin pgAdmin, procedați astfel:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Redenumirea unui tabel utilizând pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

ALTER TABLE Book
  RENAME TO Books;

Pas 4) Faceți clic pe butonul Execute.

Redenumirea unui tabel utilizând pgAdmin

Pas 5) Pentru a verifica dacă tabelul a fost redenumit, procedați în felul următor:

  1. Faceți clic pe Baze de date din panoul de navigare din stânga.
  2. Extindeți Demo.
  3. Extinde Schemele.
  4. Extindeți Public.
  5. Extindeți Tabele.

Redenumirea unui tabel utilizând pgAdmin

Tabelul a fost redenumit cu succes.

Rezumat

  • Instrucțiunea ALTER TABLE este folosită pentru a modifica structura tabelului.
  • Comanda ALTER TABLE ia diferite forme, în funcție de sarcina pe care trebuie să o efectuați.
  • Structura poate fi coloanele tabelului sau tabelul în sine.
  • Putem folosi această declarație pentru a schimba numele unui tabel.
  • Comanda ALTER TABLE poate fi folosită pentru a seta valoarea implicită a unei coloane.
  • Declarația poate fi folosită pentru a valida valorile care sunt introduse într-o coloană de tabel.

Descărcați baza de date folosită în acest tutorial