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

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
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