Löschabfragen in SQL (MySQL )
Wir können die Löschabfragen jetzt behandeln, weil wir nun die dafür wichtige WHERE-Klausel kennengelernt haben.
Löschen
- Löschen aller Zeilen der Tabelle »Kunde«
DELETE FROM Kunde;
- Löschen mit Selektion
DELETE FROM Kunde WHERE Nachname = 'Schmidt';
Um sicherzustellen, daß eine Löschabfrage die richtigen Zeilen löscht, kann die WHERE-Klause zunächst erst einmal mit einer SELECT-Abfrage geprüft werden.
- Selektion
SELECT * FROM Kunde WHERE Nachname = 'Schmidt';
»TRUNCATE TABLE Kunde« ist übrigens dasselbe wie »DELETE FROM Kunde« (alle Zeilen werden gelöscht).
⚠ Änderungs- und Löschabfragen an die Datenbank werden auch für mehrere Zeilen sofort ausgeführt, und es gibt im allgemeinen keine Möglichkeit zum Rückgängigmachen.
Das Löschen von Zeilen illustriert die Bezeichnung „Tabellenvariable “ für eine Basistabelle: Nach dem Löschen von Zeilen handelt es sich um eine andere Tabelle, die neue Tabelle ist jedoch weiterhin in derselben Tabellenvariablen (im selben Tabellenspeicher) enthalten.
Übungsaufgabe
/ Zeilen löschen
- Skript
DROP SCHEMA S; CREATE SCHEMA S; USE S;
CREATE TABLE ORT ( ORT VARCHAR ( 255 ), NAME VARCHAR ( 255 ), BUNDESLAND VARCHAR ( 255 ));
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '1', 'Hamburg', 'Hamburg' );
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '2', 'Stuttgart', 'Baden-Württemberg' );
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '3', 'Berlin', 'Berlin' );
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '4', 'Weferlingen', 'Niedersachsen' );
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '7', 'Neustadt', 'Schleswig-Holstein' );
INSERT INTO ORT ( ORT, NAME, BUNDESLAND ) VALUES ( '8', 'Neustadt', 'Niedersachsen' );SELECT * FROM ORT;
Entfernen Sie alle Zeilen zu Orten, die sich in Niedersachsen befinden, mit einer einzigen DELETE-Anweisung aus der Tabelle »ORT«! (Hinterher sollten dann noch vier Zeilen übrigbleiben).
Zitate *
Datenänderungsanweisungen *
- 4.33.2.3 SQL-data change statements (gekürzt) *
- The following are the SQL-data change statements:
- — <insert statement>.
- — <delete statement: searched>.
- — <update statement: searched>.