5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 11

16. Il linguaggio SQL Vers. 11.0 – Gennaio 2026
Modificare la struttura di una tabella
Per modificare la struttura di una tabella precedentemente creata nella base dei dati si utilizza l’ istruzione ALTER TABLE la cui sintassi è:
ALTER TABLE < NomeTabella > ADD COLUMN < NomeColonna1 > < Tipo1 > | < NomeDominio > [ eventuali vincoli ] [ FIRST | AFTER < NomeColonna2 >]; oppure
ALTER TABLE < NomeTabella > DROP COLUMN < NomeColonna >; oppure
ALTER TABLE < NomeTabella > ALTER | MODIFY COLUMN < NomeColonna > < NuovoTipoColonna > [ eventuali vincoli ];
N. B. La clausola MODIFY al posto di ALTER per l’ istruzione ALTER TABLE è SOLO MySQL oppure
ALTER TABLE < NomeTabella > CHANGE < NomeCol _ OLD > < NomeCol _ NEW > < TipoDati _ NEW > [ eventuali vincoli NEW ];
N. B. La clausola CHANGE per l’ istruzione ALTER TABLE è SOLO MySQL
Dove:
- la clausola ADD COLUMN permette di aggiungere alla tabella < NomeTabella > la nuova colonna < NomeColonna1 > di < Tipo1 > oppure < NomeDominio > eventualmente specificando la posizione dove inserirla ossia all’ inizio( con le clausola opzionale FIRST) oppure dopo rispetto ad un’ altra colonna esistente( con le clausola opzionale AFTER < NomeColonna2 >);
- la clausola DROP COLUMN viene usata per eliminare la colonna < NomeColonna > della tabella < NomeTabella >;
- la clausola ALTER COLUMN | MODIFY viene usata per modificare solo il tipo della colonna < NomeColonna > della tabella < NomeTabella >, non il suo nome.
- la clausola CHANGE viene usata per modificare il nome della colonna < NomeCol _ OLD > della tabella < NomeTabella > nel nuovo nome < NomeCol _ NEW > con eventualmente un nuovo tipo dati( obbligatorio).
Eliminare una tabella
Per cancellare completamente una tabella dalla base dei dati si utilizza l’ istruzione DROP TABLE la cui sintassi è:
DROP TABLE < NomeTabella > [ NO ACTION( analogo a RESTRICT) | CASCADE ];
La cancellazione di una tabella può provocare inconsistenze dovute al fatto che possono esserci tabelle collegate tramite chiavi esterne o più in generale tramite vincoli di integrità. Per far fronte a tali evenienze si utilizzano:- l’ istruzione NO ACTION che non permette la cancellazione se la tabella da cancellare è legata tramite vincoli di integrità ad altre tabelle( comportamento da non specificare perché di default);- l’ istruzione CASCADE che da luogo ad una cancellazione ricorsiva in cascata di tutte le tabelle collegate;
N. B. queste opzioni al momento non sono state ancora sviluppate in MySql
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 11