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

So löschen Sie eine Zeile in SQL

Problem:

Sie möchten eine Zeile/Zeilen aus einer Tabelle entfernen.

Beispiel 1:

In der exam Tabelle, dort sind die Namen der Studenten und die Ergebnisse der Prüfung.

name Ergebnis
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Sie möchten die Zeile für Ellen Thornton entfernen.

Lösung 1:

DELETE FROM exam
WHERE name = 'Ellen Thornton';

Die Tabelle exam sieht jetzt so aus:

name Ergebnis
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10

Diskussion:

Verwenden Sie DELETE FROM mit dem Namen der Tabelle, aus der Sie eine Zeile löschen möchten. In WHERE , schreiben Sie die Bedingung, die die Zeile angibt. Wenn Sie eine bestimmte Zeile im Sinn haben, schreiben Sie die Bedingung am besten in die Spalte mit eindeutigen Werten. Hier ist die eindeutige Spalte name .

Wenn es viele Zeilen gibt, deren Name gleich 'Ellen Thornton ist “, werden alle entfernt. Wenn es keinen solchen Namen gibt, werden keine Zeilen entfernt.

Beispiel 2:

In der exam In der Tabelle finden Sie die Namen der Studenten und die Ergebnisse der Prüfung, genau wie im vorherigen Beispiel.

name Ergebnis
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Sie möchten alle Zeilen entfernen, für die das result größer als 10 ist .

Lösung 2:

DELETE FROM exam
WHERE result > 10;

Die exam Tabelle sieht jetzt so aus:

name Ergebnis
Janet Morgen 9
Josh Kaur 10
Ellen Thornton 8

Diskussion:

Manchmal wissen Sie nicht genau, welche Zeilen Sie entfernen müssen oder wie viele Zeilen Sie entfernen müssen. Sie können die Bedingung schreiben, für die die Zeilen entfernt werden sollen. Es kann viele Zeilen geben, die die Bedingung erfüllen, es kann nur eine Zeile oder gar keine Zeilen sein.

Natürlich können Sie mehrere Bedingungen in WHERE schreiben , indem Sie sie mit AND verbinden oder OR , zum Beispiel:

DELETE FROM exam
WHERE result > 10
  AND name LIKE 'J%';