Alter Table in SQL
Per modificare lo schema di una tabella utilizzo il comando Alter Table
ALTER TABLE NomeTabella Operazione
Il primo parametro è il nome della tabella. Il secondo parametro è l'operazione da compiere:
- CHANGE COLUMN
Rinomina una colonna e modifica le caratteristiche di una colonna - MODIFY COLUMN
Modifica le caratteristiche di una colonna. - ALTER COLUMN
Modifica o cancella il valore di default di una colonna - ADD COLUMN
Aggiunge la definizione di una nuova colonna - DROP COLUMN
Cancella una colonna dallo schema - ADD CONSTRAINT
Aggiunge un vincolo - DROP CONSTRAINT
Cancella un vincolo
Nota. La sintassi delle precedenti opzioni può variare a seconda del DBMS. Nel mio caso sto usando MySQL.
ALTER COLUMN
L'opzione ALTER COLUMN fissa, modifica o cancella il valore di default della colonna.
ALTER TABLE tabella ALTER COLUMN nomecolonna SET DEFAULT | DROP DEFAULT valore
Questo comando modifica il valore di default di una colonna
ALTER TABLE Clienti ALTER COLUMN Matricola SET DEFAULT 1
Questo comando cancella il valore di default di una colonna
ALTER TABLE Clienti ALTER COLUMN Matricola DROP DEFAULT 1
CHANGE COLUMN
L'opzione Change Column cambia il nome della colonna, il tipo di dato e le proprietà.
ALTER TABLE tabella CHANGE COLUMN nomecolonna nuovonome tipo opzioni
Esempio
Questo comando rinomina la colonna comune in city
ALTER TABLE Clienti CHANGE COLUMN comune city varchar(20) NOT NULL
MODIFY COLUMN
L'opzione Modify Column modifica il tipo di dato e le proprietà di una colonna. Non modifica il nome della colonna.
ALTER TABLE tabella MODIFY COLUMN nomecolonna tipo opzioni
Esempio
Questo comando modifica le proprietà della colonna comune
ALTER TABLE Clienti MODIFY COLUMN comune varchar(20) NOT NULL
ADD COLUMN
L'opzione Add Column aggiunge una colonna nella tabella.
ALTER TABLE tabella ADD COLUMN nuovacolonna tipo opzioni
Esempio
Questo comando aggiunge la colonna telefono nella tabella Clienti
ALTER TABLE Clienti ADD COLUMN telefono Int(10)
DROP COLUMN
L'opzione Drop Column aggiunge una colonna nella tabella.
ALTER TABLE tabella DROP COLUMN colonna
Esempio
Questo comando cancella la colonna telefono nella tabella Clienti
ALTER TABLE Clienti DROP COLUMN telefono
ADD CONSTRAINT
L'opzione Add Constraint aggiunge dei vincoli alla tabella.
La sintassi varia a seconda del vincolo.
Esempio
Questo comando definisce il campo matricola come chiave primaria della tabella Clienti.
ALTER TABLE Clienti ADD CONSTRAINT PRIMARY KEY (matricola)
L'inserimento di un nuovo vincolo richiede che la condizione sia soddisfatta dai dati già presenti nella base dati.
Se le istanze non rispettano il vincolo, l'inserimento del nuovo vincolo viene rigettato.
DROP CONSTRAINT
L'opzione Drop Constraint elimina dei vincoli alla tabella.
La sintassi varia a seconda del vincolo.
Esempio
Questo comando elimina la chiave primaria della tabella Clienti.
ALTER TABLE Clienti DROP PRIMARY KEY
E così via