Tabelul ALTER PostgreSQL: ADAUGĂ coloană, Redenumește exemple de coloană / tabel

Cuprins:

Anonim

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

În acest tutorial, veți învăța:

  • Sintaxă
  • Descriere
  • Modificarea unei coloane
    • Adăugarea unei coloane noi
    • Redenumirea unei coloane de tabel
  • Setarea unei valori implicite pentru o coloană
  • Adăugarea unei constrângeri de verificare
  • Redenumirea unui tabel
  • Folosind pgAdmin

Sintaxă

Iată sintaxa pentru comanda PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Parametrul tabel-nume 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. Este nevoie de următoarele subformule:

  • ADĂUGAȚI CULOANĂ : aceasta utilizează o sintaxă similară cu comanda CREATE TABLE pentru a adăuga o nouă coloană la un tabel.
  • DROP COLUMN : pentru aruncarea unei coloane de tabel. Constrângerile și indexurile impuse coloanelor vor fi, de asemenea, eliminate.
  • SET / DROP DEFAULT : Se utilizează pentru eliminarea valorii implicite pentru o coloană. Cu toate acestea, modificarea se va aplica numai declarațiilor INSERT ulterioare.
  • SET / DROP NOT NULL : modifică dacă o coloană va permite sau nu valori nule.
  • SET STATISTICI: Pentru stabilirea țintei de colectare a statisticilor pentru fiecare coloană pentru operațiile ANALIZĂ.
  • SET STOCARE : Pentru setarea modului de stocare pentru o coloană. Aceasta va determina locul în care coloana este ținută, fie în linie, fie într-un tabel suplimentar.
  • SET FĂRĂ ULEI : Se utilizează pentru îndepărtarea vechii coloane a tabelului.
  • RENAME : pentru schimbarea numelui tabelului sau a numelui coloanei.
  • ADAUGĂ tabel_constrângere : Se utilizează pentru adăugarea unei noi constrângeri la un tabel. Folosește aceeași sintaxă ca și comanda CREATE TABLE.
  • DROP CONSTRAINT : Se utilizează pentru eliminarea unei constrângeri de masă.
  • PROPRIETAR : pentru schimbarea proprietarului unui tabel, secvență, index sau o vizualizare la un anumit utilizator.
  • CLUSTER : pentru marcarea unui tabel care va fi utilizat pentru efectuarea viitoarelor operațiuni de 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 următoarele:

Adăugarea unei coloane noi

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

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

Numele tabelului este numele tabelului de modificat.

New-column-name este numele noii coloane care trebuie adăugată.

Definiția coloanei este tipul de date al noii coloane.

Consultați tabelul de carte prezentat mai jos:

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

ALTER TABLE BookADD author VARCHAR(50);

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

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-nameRENAME COLUMN old-name TO new-name;

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

Numele vechi este numele vechi / actual al coloanei.

Noul nume este noul nume al coloanei. Luați în considerare tabelul de mai jos:

Carte:

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

ALTER TABLE BookRENAME COLUMN author TO book_author;

După executarea comenzii, putem vizualiza structura tabelului:

Numele coloanei a fost modificat 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țiilor INSERT, va fi utilizată valoarea implicită. Î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 tabelei este numele tabelei a cărei coloană urmează să fie modificată.

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

Valoarea este valoarea implicită pentru coloană.

Luați în considerare tabelul de carte dat mai jos:

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ă introducem 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 utilizată pentru coloana book_author:

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 urmează să fie modificat.

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

Să modificăm coloana book_author a tabelului 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ă introducem o altă valoare decât Nicholas sau Samuel în coloana book_author din tabelul Book:

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

Declarația va returna următoarea eroare:

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-nameRENAME TO new-table-name;

Numele tabelului este numele curent al tabelului.

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

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

ALTER TABLE BookRENAME 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:

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

Pasul 2)

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

Pasul 3) Tastați interogarea în editorul de interogări:

ALTER TABLE BookADD author VARCHAR(50);

Pasul 4) Faceți clic pe butonul Executare.

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

  1. Faceți clic pe Baze de date din navigarea din stânga.
  2. Extindeți Demo.
  3. Extindeți Scheme.
  4. Extindeți public.
  5. Extindeți tabelele.
  6. Extindeți cartea.
  7. Extindeți Coloane.

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

Redenumirea unei coloane de tabel

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

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

Pasul 2)

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

Pasul 3) Tastați interogarea în editorul de interogări:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Pasul 4) Faceți clic pe butonul Executare.

Pasul 5) Pentru a verifica dacă modificarea a avut succes, efectuați următoarele:

  1. Faceți clic pe Baze de date din navigarea din stânga.
  2. Extindeți Demo.
  3. Extindeți Scheme.
  4. Extindeți public.
  5. Extindeți tabelele.
  6. Extindeți cartea.
  7. Extindeți Coloane.

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

Coloana a fost modificată cu succes.

Setarea unei valori implicite pentru o coloană

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

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

Pasul 2)

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

Pasul 3) Tastați interogarea în editorul de interogări:

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

Pasul 4) Faceți clic pe butonul Executare.

Pasul 5) Pentru a testa, rulați următoarea comandă pe editorul de interogări:

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

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

Adăugarea unei constrângeri de verificare

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

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

Pasul 2)

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

Pasul 3) Tastați interogarea în editorul de interogări:

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

Pasul 4) Faceți clic pe butonul Executare.

Pasul 5) Pentru a testa acest lucru, efectuați următoarele:

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

    Se va returna următoarele:

Redenumirea unui tabel

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

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

Pasul 2)

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

Pasul 3) Tastați interogarea în editorul de interogări:

ALTER TABLE BookRENAME TO Books;

Pasul 4) Faceți clic pe butonul Executare.

Pasul 5) Pentru a verifica dacă tabelul a fost redenumit, efectuați următoarele:

  1. Faceți clic pe Baze de date din navigarea din stânga.
  2. Extindeți Demo.
  3. Extindeți Scheme.
  4. Extindeți public.
  5. Extindeți tabelele.

Tabelul a fost redenumit cu succes.

Rezumat:

  • Instrucțiunea ALTER TABLE este utilizată 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ă afirmație pentru a schimba numele unui tabel.
  • Comanda ALTER TABLE poate fi utilizată pentru a seta valoarea implicită a unei coloane.
  • Instrucțiunea poate fi utilizată pentru a valida valorile care sunt introduse într-o coloană de tabel.

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