Il comando ALTER TABLE ti permette di mo­di­fi­ca­re le tabelle in Post­gre­SQL. Il comando è uti­liz­za­to con un’azione, ad esempio per ag­giun­ge­re o mo­di­fi­ca­re le colonne.

Che cos’è ALTER TABLE in Post­gre­SQL?

Il comando ALTER TABLE di Post­gre­SQL serve a mo­di­fi­ca­re tabelle già esistenti. Questa istru­zio­ne può essere uti­liz­za­ta per ag­giun­ge­re, eliminare o mo­di­fi­ca­re una colonna in base alle tue esigenze. Inoltre ALTER TABLE di Post­gre­SQL serve anche a stabilire o rimuovere vincoli per una tabella nel sistema di gestione di database. Per ottenere il risultato de­si­de­ra­to è ne­ces­sa­rio spe­ci­fi­ca­re il comando con un’azione.

Server dedicati
Per­for­man­ce e in­no­va­zio­ne
  • Pro­ces­so­ri al­l'a­van­guar­dia di ultima ge­ne­ra­zio­ne
  • Hardware dedicato ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO

ALTER TABLE: la sintassi

Per capire meglio il fun­zio­na­men­to di questo comando vale la pena dare un’occhiata alla sintassi di base di ALTER TABLE. Si presenta così:

ALTER TABLE nome_della_tabella azione;
post­gre­sql

Dopo il comando vero e proprio si inserisce il nome della tabella che desideri mo­di­fi­ca­re. A seguire devi spe­ci­fi­ca­re il comando Post­gre­SQL ALTER TABLE con l’azione de­si­de­ra­ta.

Consiglio

Per creare una nuova tabella in Post­gre­SQL, utilizza il comando CREATE TABLE.

Post­gre­SQL ALTER TABLE: esempi

Nei paragrafi seguenti trovi una de­scri­zio­ne del fun­zio­na­men­to di ALTER TABLE con alcuni esempi pratici. A tal fine creiamo una tabella di esempio de­no­mi­na­ta “Clienti”, che contiene ini­zial­men­te tre colonne e tre righe. La tabella si presenta così:

ID Nome Città
1 Rossi Roma
2 Verdi Milano
3 Bianchi Torino

In Post­gre­SQL possiamo quindi mo­di­fi­ca­re la tabella in diversi modi uti­liz­zan­do ALTER TABLE.

Aggiunta di una colonna con ADD COLUMN in Post­gre­SQL

Per ag­giun­ge­re una nuova colonna in Post­gre­SQL, utilizza ALTER TABLE in com­bi­na­zio­ne con ADD COLUMN. Questa azione dispone di due parametri: il nome della colonna e il tipo di dati della colonna. La sintassi si presenta come segue:

ALTER TABLE nome_della_tabella ADD COLUMN nome_della_colonna tipo_dati;
post­gre­sql

Se desideri ag­giun­ge­re una colonna per gli indirizzi alla tabella “Clienti”, utilizza ADD COLUMN in Post­gre­SQL nel modo seguente:

ALTER TABLE Clienti ADD COLUMN Indirizzo VARCHAR(255);
post­gre­sql

La nuova tabella estesa si presenta quindi così:

ID Nome Città Indirizzo
1 Rossi Roma NULL
2 Verdi Milano NULL
3 Bianchi Torino NULL

Eli­mi­na­zio­ne di una colonna con DROP COLUMN

La procedura per eliminare una colonna da una tabella già esistente è molto simile. A tal fine uti­liz­zia­mo il comando ALTER TABLE di Post­gre­SQL in com­bi­na­zio­ne con l’azione DROP COLUMN. Quest’ultima accetta come unico parametro il nome della colonna. La sintassi è la seguente:

ALTER TABLE nome_della_tabella DROP COLUMN nome_della_colonna;
post­gre­sql

Per rimuovere la colonna “Città”, uti­liz­zia­mo questo codice:

ALTER TABLE Clienti DROP COLUMN Città;
post­gre­sql

Ora nella tabella rimangono solo tre colonne:

ID Nome Indirizzo
1 Rossi NULL
2 Verdi NULL
3 Bianchi NULL

Modifica del nome delle colonne con RENAME COLUMN

È possibile anche cambiare il nome di una colonna già esistente come valida al­ter­na­ti­va all’eli­mi­na­zio­ne o all’aggiunta di nuove colonne. La sintassi di RENAME COLUMN nell’ambito di ALTER TABLE si presenta così:

ALTER TABLE nome_della_tabella RENAME COLUMN nome_della_colonna TO nuovo_nome;
post­gre­sql

In questo caso tra­sfor­mia­mo la colonna “Nome” nella colonna “Nome del cliente”:

ALTER TABLE Clienti RENAME COLUMN Nome TO Nome del cliente;
post­gre­sql

Nella nostra tabella cambia quindi solo il nome di questa colonna, come de­si­de­ra­to:

ID Nome del cliente Indirizzo
1 Rossi NULL
2 Verdi NULL
3 Bianchi NULL

Ulteriori azioni di Post­gre­SQL per ALTER TABLE

Sono di­spo­ni­bi­li molte altre azioni che puoi uti­liz­za­re in com­bi­na­zio­ne con ALTER TABLE. Le prin­ci­pa­li sono:

Per cambiare il tipo di dati di una colonna:

ALTER TABLE nome_della_tabella ALTER TABLE nome_della_colonna TYPE tipo_dati;
post­gre­sql

Per stabilire che a una colonna deve essere assegnato un valore:

ALTER TABLE nome_della_tabella ALTER COLONNA nome_della_colonna SET NOT NULL;
post­gre­sql

Per assegnare a una colonna vincoli come UNIQUE o PRIMARY KEY, utilizza ALTER TABLE di Post­gre­SQL in com­bi­na­zio­ne con l’azione ADD CONSTRAINT:

ALTER TABLE nome_della_tabella ADD CONSTRAINT nome_del_vincolo definizione_del_vincolo;
post­gre­sql
Vai al menu prin­ci­pa­le