Concludiamo la panoramica sui principali comandi SQL che permettono ai database, quindi allo stesso MySQL, di compiere operazioni sui dati delle tabelle, affrontando il tema della cancellazione dei dati.
Per cancellare i dati da una tabella si usa l’istruzione DELETE il cui effetto sui record è permanente, ovvero, una volta confermata la cancellazione di un record sarà impossibile recuperarlo.
Segue un esempio sintattico dell’istruzione DELETE:
DELETE FROM nome_tabella
In MySQL, al contrario di altri DBMS, non va specificato l’asterisco (*) tra il comando DELETE e la clausola FROM.
L’esempio sintattico precedentemente esaminato, cosi com’è, cancella indiscriminatamente tutti i dati da una tabella, il che nella maggior parte dei casi è un errore, dato che è uso comune cancellare solo determinati dati perchà ritenuti errati, obsoleti o da non dover più conservare per un qualsiasi motivo.
Allo scopo anche il comando DELETE permette di utilizzare gli operatori condizionali WHERE, ma anche AND e/o OR a seconda del fatto che si vogliano impostare query di eliminazione più o meno complesse ed articolate.
Vediamo dunque due esempi:
DELETE FROM nome_tabella WHERE campo_testuale = 'valore'
Cancella un record in funzione di una query di eliminazione basata su di un campo testuale, mentre il seguente esempio basa la sua condizione su di un campo numerico:
DELETE FROM nome_tabella WHERE campo_numerico = 123
Si provi ad implementare degli esempi più articolati, introducendo più condizioni all’interno della query di cancellazione.
