Database
 sql >> Database >  >> RDS >> Database

Come eliminare una riga in SQL

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%';