Come cancellare i dati in Sql
Per cancellare un record o un insieme di records con il linguaggio SQL uso l'istruzione DELETE FROM. La sintassi è la seguente:
DELETE FROM tabella
WHERE colonna = valore ;
Il comando cancella tutte le righe della tabella che soddisfano la condione indicata nella WHERE.
Se non è indicata una condizione cancella tutte le righe della tabella.
Nota. In caso di vincoli d integrità referenziale, la cancellazione di una riga comporta conseguenze anche sulle tabelle referenziate a seconda della politica adottata. Ad esempio, se la politica è CASCADE si eliminano anche le righe appartenenti alle altre tabelle referenziate. Gli schemi delle tabelle restano però immutati.
Un esempio pratico
Per eliminare dalla tabella gli alunni con undici anni scrivo
DELETE FROM alunni
WHERE eta = 11 ;
Il linguaggio SQL identifica dapprima tutti i records con il campo età uguale a undici, poi li cancella dalla tabella.
Come cancellare tutti i dati senza eliminare la tabella
Per svuotare la tabella senza eliminarla dal database utilizzo il comando TRUNCATE.
TRUNCATE TABLE nometabella;
Questo comando equivale a scrivere DELETE FROM senza condizioni
DELETE FROM nometabella;
Le due query precedenti producono lo stesso risultato. Dopo l'esecuzione la tabella è vuota ma non viene eliminata dal database e conserva la stessa struttura dei campi.
Questi comandi sono utili per pulire una tabella con dati errati prima di aggiungere le informazioni corrette.
Come cancellare i dati e la tabella
Per eliminare sia i dati che la tabella utilizzo il comando DROP TABLE
DROP TABLE nometabella;
Il comando elimina la struttura della tabella dal database e ovviamente anche i dati che conteneva.
Dopo l'esecuzione la tabella non esiste più nel database.
Nota. In caso di vincoli di integrità referenziale il comando DROP modifica sia le righe e sia gli schemi delle tabelle referenziate.
E così via.