PostgreSQL ALTER TABLE: aggiunta o rimozione di colonne
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.
- 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;
postgresqlDopo 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.
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;
postgresqlSe 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);
postgresqlLa 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;
postgresqlPer rimuovere la colonna “Città”, utilizziamo questo codice:
ALTER TABLE Clienti DROP COLUMN Città;
postgresqlOra 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;
postgresqlIn questo caso trasformiamo la colonna “Nome” nella colonna “Nome del cliente”:
ALTER TABLE Clienti RENAME COLUMN Nome TO Nome del cliente;
postgresqlNella 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;
postgresqlPer stabilire che a una colonna deve essere assegnato un valore:
ALTER TABLE nome_della_tabella ALTER COLONNA nome_della_colonna SET NOT NULL;
postgresqlPer 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