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

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

SQL