Il comando ALTER TABLE ti permette di modificare le tabelle in PostgreSQL. Il comando è utilizzato con un’azione, ad esempio per aggiungere o modificare le colonne.

Che cos’è ALTER TABLE in PostgreSQL?

Il comando ALTER TABLE di PostgreSQL serve a modificare tabelle già esistenti. Questa istruzione può essere utilizzata per aggiungere, eliminare o modificare una colonna in base alle tue esigenze. Inoltre ALTER TABLE di PostgreSQL serve anche a stabilire o rimuovere vincoli per una tabella nel sistema di gestione di database. Per ottenere il risultato desiderato è necessario specificare il comando con un’azione.

Server dedicati
Performance e innovazione
  • Hardware dedicato al 100%
  • Fatturazione al minuto
  • Potenziato dai processori Intel® Xeon® e AMD

ALTER TABLE: la sintassi

Per capire meglio il funzionamento 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;
postgresql

Dopo il comando vero e proprio si inserisce il nome della tabella che desideri modificare. A seguire devi specificare il comando PostgreSQL ALTER TABLE con l’azione desiderata.

Consiglio

Per creare una nuova tabella in PostgreSQL, utilizza il comando CREATE TABLE.

PostgreSQL ALTER TABLE: esempi

Nei paragrafi seguenti trovi una descrizione del funzionamento di ALTER TABLE con alcuni esempi pratici. A tal fine creiamo una tabella di esempio denominata “Clienti”, che contiene inizialmente tre colonne e tre righe. La tabella si presenta così:

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

In PostgreSQL possiamo quindi modificare la tabella in diversi modi utilizzando ALTER TABLE.

Aggiunta di una colonna con ADD COLUMN in PostgreSQL

Per aggiungere una nuova colonna in PostgreSQL, utilizza ALTER TABLE in combinazione 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;
postgresql

Se desideri aggiungere una colonna per gli indirizzi alla tabella “Clienti”, utilizza ADD COLUMN in PostgreSQL nel modo seguente:

ALTER TABLE Clienti ADD COLUMN Indirizzo VARCHAR(255);
postgresql

La nuova tabella estesa si presenta quindi così:

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

Eliminazione di una colonna con DROP COLUMN

La procedura per eliminare una colonna da una tabella già esistente è molto simile. A tal fine utilizziamo il comando ALTER TABLE di PostgreSQL in combinazione 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;
postgresql

Per rimuovere la colonna “Città”, utilizziamo questo codice:

ALTER TABLE Clienti DROP COLUMN Città;
postgresql

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 alternativa all’eliminazione 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;
postgresql

In questo caso trasformiamo la colonna “Nome” nella colonna “Nome del cliente”:

ALTER TABLE Clienti RENAME COLUMN Nome TO Nome del cliente;
postgresql

Nella nostra tabella cambia quindi solo il nome di questa colonna, come desiderato:

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

Ulteriori azioni di PostgreSQL per ALTER TABLE

Sono disponibili molte altre azioni che puoi utilizzare in combinazione con ALTER TABLE. Le principali sono:

Per cambiare il tipo di dati di una colonna:

ALTER TABLE nome_della_tabella ALTER TABLE nome_della_colonna TYPE tipo_dati;
postgresql

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

ALTER TABLE nome_della_tabella ALTER COLONNA nome_della_colonna SET NOT NULL;
postgresql

Per assegnare a una colonna vincoli come UNIQUE o PRIMARY KEY, utilizza ALTER TABLE di PostgreSQL in combinazione con l’azione ADD CONSTRAINT:

ALTER TABLE nome_della_tabella ADD CONSTRAINT nome_del_vincolo definizione_del_vincolo;
postgresql
Hai trovato questo articolo utile?
Vai al menu principale