Problema:
Vuoi rimuovere una o più righe da una tabella.
Esempio 1:
Nell'exam
tabella, ci sono i nomi degli studenti e i risultati dell'esame.
nome | risultato |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Vuoi rimuovere la riga per Ellen Thornton.
Soluzione 1:
DELETE FROM exam WHERE name = 'Ellen Thornton';
La tabella exam
ora appare così:
nome | risultato |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Discussione:
Usa DELETE FROM
con il nome della tabella da cui desideri eliminare una riga. In WHERE
, scrivi la condizione specificando la riga. Se hai in mente una riga specifica, è meglio scrivere la condizione utilizzando la colonna contenente valori univoci. Qui, la colonna univoca è name
.
Se sono presenti molte righe il cui nome è uguale a 'Ellen Thornton
', verranno tutti rimossi. Se non esiste un tale nome, nessuna riga viene rimossa.
Esempio 2:
Nell'exam
tabella, ci sono i nomi degli studenti e i risultati dell'esame, proprio come nell'esempio precedente.
nome | risultato |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Vuoi rimuovere tutte le righe per le quali il result
è maggiore di 10
.
Soluzione 2:
DELETE FROM exam WHERE result > 10;
L'exam
la tabella ora si presenta così:
nome | risultato |
---|---|
Janet Morgen | 9 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Discussione:
A volte, non conosci le righe esatte che devi rimuovere o anche quante righe devi rimuovere. È possibile scrivere la condizione per la quale le righe devono essere rimosse. Possono esserci molte righe che soddisfano la condizione, può essere solo una riga o nessuna riga.
Ovviamente puoi scrivere più condizioni in WHERE
, unendoli con AND
o OR
, ad esempio:
DELETE FROM exam WHERE result > 10 AND name LIKE 'J%';