Alle Zeilen in der MySQL-Datenbank mit phpMyAdmin löschen
Wir lernen, wie man am besten alle Zeilen in der MySQL
-Datenbank mit phpMyAdmin
löscht. Wir werden den Befehl DELETE
untersuchen, um Zeilen aus einer bestimmten Tabelle zu entfernen.
Wir werden auch die Unterschiede zwischen den Befehlen DELETE
, DROP
und TRUNCATE
kennenlernen. Wir werden sehen, wie Zeilen in MySQL
löscht, wenn wir einen zugehörigen Fremdschlüssel in der Tabelle haben.
Wir verwenden MySQL Version 8.0.27, und Sie können die neueste Version von hier herunterladen.
Löschen Sie Zeilen in der MySQL
-Datenbank mit phpMyAdmin
In phpMyAdmin
können Sie Zeilen einfach auf zwei Arten LÖSCHEN
. Sie können dies tun, indem Sie die Option der grafischen Benutzeroberfläche (GUI) und die SQL-Abfrage verwenden.
Lassen Sie uns jeden von ihnen unten verstehen.
Zeilen löschen in phpMyAdmin
ohne SQL
-Abfrage
Es gibt einige Szenarien, in denen Sie alle Zeilen einer Tabelle auf einmal löschen müssen. Klicken Sie dazu auf Check all
und anschliessend auf Löschen.
Wenn Sie nur eine Zeile aus der ausgewählten Tabelle löschen möchten, klicken Sie auf die Schaltfläche Delete
, um diese bestimmte Zeile zu entfernen. Siehe das folgende Bild, um zu folgen.
Wenn Sie eine oder mehrere Zeilen entfernen möchten, aber nicht alle, können Sie diese zuerst ankreuzen
und dann Delete
drücken. Sie können den Anweisungen folgen, indem Sie sich den folgenden Screenshot ansehen.
Falls Sie Zeilen aus verschiedenen Tabellen löschen möchten, müssen Sie zu jeder Tabelle gehen und dann wie oben erwähnt löschen. Es braucht Zeit und Mühe.
Hier kommen SQL-Abfragen ins Spiel und machen die Arbeit sehr einfach.
Zeilen löschen in phpMyAdmin
mit SQL
-Abfrage
Sie können drei verschiedene Wege nutzen, um Ihr Ziel gemäß Ihren Projektanforderungen zu erreichen. Lassen Sie uns sie nacheinander verstehen, um sie zu verwenden.
Sie denken vielleicht darüber nach, wo Sie die SQL
-Abfrage schreiben sollen, während Sie phpMyAdmin
verwenden. Sie können Ihre SQL
-Abfragen in phpMyAdmin
unter der Registerkarte SQL
schreiben (siehe Screenshot unten).
Drücken Sie die Schaltfläche Go
unten rechts oder drücken Sie die Taste Strg+Enter
, um die Abfrage auszuführen.
FALLEN
DROP
ist einer der Data Definition Language
-Befehle (DDL).
Dieser Befehl wird verwendet, um die gesamte Tabelle auf einmal DROP
zu machen. Es entfernt Berechtigungen, Trigger, Indizes, Einschränkungen, Definitionen und alle Daten für diese Tabelle.
Syntax
DROP TABLE your_table_name;
DROP
-Operation nicht mit dem ROLLBACK
-Befehl rückgängig machen.LÖSCHEN
Der Befehl DELETE
entfernt eine oder mehrere Zeilen aus der angegebenen Tabelle. Es ist einer der Data Manipulation Language (DML)-Befehle.
Der Befehl DELETE
wird mit der Klausel WHERE
verwendet, wenn Sie eine Zeile LÖSCHEN
möchten. Die WHERE
-Klausel löscht alle Zeilen aus der Tabelle, indem die WHERE
-Klausel weggelassen wird.
Der Befehl DELETE
ist langsamer als der Befehl TRUNCATE
, da er jede gelöschte Zeile im Transaktionsprotokoll verfolgt. Der Befehl DELETE
entfernt nur die Zeile(n) und nicht die Tabelle aus der Datenbank.
Syntax
#delete all rows from the table
DELETE FROM your_table_name;
#delete one row from the table
DELETE FROM your_table_name WHERE your_table_name.id = 1;
ROLLBACK
zum Wiederherstellen (Rückgängigmachen) verwenden, wenn wir möchten.TRUNCATE
Der Befehl TRUNCATE
funktioniert ähnlich wie der Befehl DELETE
, ist aber einer der Befehle der Data Definition Language (DDL). Es wird speziell verwendet, um alle Zeilen aus der Tabelle zu löschen, da es die Verwendung der WHERE
-Klausel nicht zulässt.
Ähnlich wie DELETE
hält auch TRUNCATE
die Tabelle in der Datenbank, entfernt aber Zeilen. Da es sich also nur einmal im Transaktionslog protokolliert, ist es schneller als der DELETE
-Befehl.
Syntax
TRUNCATE TABLE your_table_name;
ROLLBACK
rückgängig machen.Was ist, wenn Sie eine relationale Datenbank haben, in der eine Tabelle mithilfe eines Fremdschlüssels mit der anderen verknüpft ist? Wie kann man es jetzt löschen? In diesem Fall wird die Option ON DELETE CASCADE
hinzugefügt.
Immer wenn eine Zeile in der Haupttabelle gelöscht wird, wird dieselbe Zeile auch in der anderen Tabelle mit einem Fremdschlüssel gelöscht. Lassen Sie uns mit dem unten angegebenen Beispielcode verstehen. Wir haben zwei Tabellen namens tb_student
und tb_course
erstellt.
CREATE TABLE tb_student
(
id INT PRIMARY KEY,
firstname varchar(8),
lastname varchar(8),
gender varchar(8)
);
CREATE TABLE tb_course
(
course_id INT PRIMARY KEY,
course_name varchar(8),
student_id INT,
FOREIGN KEY(student_id)
REFERENCES tb_student(id)
ON DELETE CASCADE
);
Füllen Sie diese Tabellen mit Daten. Sobald dies erledigt ist, können Sie Zeilen aus tb_student
sehr einfach LÖSCHEN
.
Denn immer wenn Sie von tb_student
löschen, wird die entsprechende Zeile von tb_course
aufgrund der Option ON DELETE CASCADE
auf dem Fremdschlüssel ebenfalls gelöscht.
Fazit
Wir haben verschiedene Möglichkeiten untersucht, um eine und alle Zeilen aus der Tabelle zu entfernen. Wir haben auch gelernt, nur Daten und Tabellen und ihre Daten zu löschen. Dieses Tutorial beleuchtet auch das sichere Löschen im Falle der Zuordnung zu einer anderen Tabelle als Fremdschlüssel.