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