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