Mit der MySQL-DELETE-Anweisung werden Datensätze aus der MySQL-Tabelle entfernt, die in der Datenbank nicht mehr benötigt werden. Diese Abfrage in MySQL löscht eine vollständige Zeile aus der Tabelle und ermittelt die Anzahl der gelöschten Zeilen . Es ermöglicht uns auch, innerhalb einer einzigen Abfrage mehr als einen Datensatz aus der Tabelle zu löschen, was beim Entfernen einer großen Anzahl von Datensätzen aus einer Tabelle von Vorteil ist. Durch die Verwendung der Löschanweisung können wir auch Daten basierend auf Bedingungen entfernen.
Sobald wir die Datensätze mit dieser Abfrage gelöscht haben, können wir sie nicht wiederherstellen . Daher wird empfohlen, vor dem Löschen von Datensätzen aus der Tabelle Folgendes zu tun: Erstellen Sie ein Backup Ihrer Datenbank . Mithilfe der Datenbanksicherungen können wir die Daten jederzeit wiederherstellen, wenn wir sie in Zukunft benötigen.
Syntax:
Die folgende Syntax veranschaulicht die Verwendung der DELETE-Anweisung:
DELETE FROM table_name WHERE condition;
In der obigen Anweisung müssen wir zunächst den Tabellennamen angeben, aus dem wir Daten löschen möchten. Zweitens müssen wir die Bedingung zum Löschen von Datensätzen in der WHERE-Klausel angeben, was optional ist. Wenn wir die WHERE-Klausel in der Anweisung weglassen, entfernt diese Abfrage ganze Datensätze aus der Datenbanktabelle.
Wenn wir Datensätze aus mehreren Tabellen mit einer einzigen DELETE-Abfrage löschen möchten, müssen wir Folgendes hinzufügen VERBINDEN Klausel mit der DELETE-Anweisung.
Wenn wir alle Datensätze aus einer Tabelle löschen möchten, ohne die Anzahl der gelöschten Zeilen zu kennen, müssen wir die verwenden TABELLE ABSCHNEIDEN Aussage, die eine bessere Leistung liefert.
Lassen Sie uns verstehen, wie die DELETE-Anweisung funktioniert MySQL anhand verschiedener Beispiele.
Beispiele für MySQL-DELETE-Anweisungen
Hier werden wir das verwenden 'Mitarbeiter' Und 'Zahlung' Tabellen zur Demonstration der DELETE-Anweisung. Angenommen, die Tabellen „Mitarbeiter“ und „Zahlung“ enthalten die folgenden Daten:
Wenn wir einen Mitarbeiter löschen möchten, dessen emp_id ist 107 , sollten wir die DELETE-Anweisung mit der WHERE-Klausel verwenden. Siehe die folgende Abfrage:
mysql> DELETE FROM Employees WHERE emp_id=107;
Nach der Ausführung der Abfrage wird die Ausgabe wie im folgenden Bild zurückgegeben. Sobald der Datensatz gelöscht ist, überprüfen Sie die Tabelle mit der SELECT-Anweisung:
Wenn wir alle Datensätze aus der Tabelle löschen möchten, ist es nicht erforderlich, die WHERE-Klausel mit der DELETE-Anweisung zu verwenden. Sehen Sie sich den folgenden Code und die Ausgabe an:
In der obigen Ausgabe können wir sehen, dass die Tabelle „Employees“ leer ist, nachdem alle Zeilen entfernt wurden. Dies bedeutet, dass in der ausgewählten Tabelle keine Datensätze verfügbar sind.
MySQL DELETE- und LIMIT-Klausel
Die MySQL-Limit-Klausel wird verwendet, um die Anzahl der aus der Ergebnismenge zurückgegebenen Zeilen zu beschränken, anstatt die gesamten Datensätze in der Tabelle abzurufen. Manchmal möchten wir die Anzahl der aus der Tabelle zu löschenden Zeilen begrenzen; In diesem Fall verwenden wir die GRENZE Klausel wie folgt:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Es ist zu beachten, dass die Reihenfolge der Zeilen in einer MySQL-Tabelle nicht spezifiziert ist. Deshalb sollten wir immer das verwenden SORTIEREN NACH -Klausel bei Verwendung der LIMIT-Klausel.
Zum Beispiel , sortiert die folgende Abfrage zunächst die Mitarbeiter alphabetisch nach ihren Namen und löscht die ersten drei Mitarbeiter aus der Tabelle:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Es wird die folgende Ausgabe ausgegeben:
MySQL DELETE- und JOIN-Klausel
Die JOIN-Klausel wird verwendet, um zwei oder mehr Tabellen in MySQL hinzuzufügen. Wir fügen die JOIN-Klausel mit der DELETE-Anweisung hinzu, wann immer wir Datensätze aus mehreren Tabellen innerhalb einer einzelnen Abfrage löschen möchten. Siehe die folgende Abfrage:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Ausgabe:
Nach der Ausführung sehen wir die Ausgabe wie im folgenden Bild:
Weitere Informationen zur DELETE-Anweisung mit der JOIN-Klausel finden Sie hier: klicken Sie hier .