Zwei Möglichkeiten zum Löschen von Tabellendaten in MySQL und ihre Unterschiede

Zwei Möglichkeiten zum Löschen von Tabellendaten in MySQL und ihre Unterschiede

Es gibt zwei Möglichkeiten, Daten in MySQL zu löschen:

  1. Truncate ist eine grobe Art der Lichtung
  2. Löschen ist eine verfeinerte Löschung

Löschvorgang

Wenn Sie alle Daten in der Tabelle löschen müssen, können Sie einen der folgenden Schritte ausführen:

aus Tabellennamen löschen;
Tabelle Tabellenname abschneiden;

Wenn Sie nur einen Teil der Daten löschen möchten, können Sie nur „delete“ verwenden:

delete from tablename where case1 and case2;

Der Unterschied

Beim granularen Löschen einiger Daten kann nur „Löschen“ verwendet werden.
Beim Löschen aller Tabellendaten sind beide Methoden zulässig. Es gibt einige Unterschiede zwischen den beiden Methoden:

Rückgabewert

Der Rückgabewert von truncate ist 0, während delete die Anzahl der gelöschten Datensätze zurückgibt.

mysql> serviceHost abschneiden;
Abfrage OK, 0 Zeilen betroffen (0,04 Sek.)
mysql> löschen vom ServiceHost, wo Ersteller='Test';
Abfrage OK, 4 Zeilen betroffen (0,01 Sek.)

Auto-Inkrement-Feld

Wenn die Tabelle ein Auto-Increment-Feld enthält, wird es durch Truncate auf 1 zurückgesetzt, während durch Delete der maximale Auto-Increment-Wert beibehalten wird.

Ausführungseffizienz

Truncate scannt die Tabelle nicht. Dies entspricht dem Neuerstellen der Tabelle, wobei nur die Tabellenstruktur beibehalten und dann die ursprüngliche Tabelle gelöscht wird. Dies ist sehr effizient.
Beim Löschen wird die gesamte Tabelle gescannt und die Entscheidung wird auf Grundlage der Where-Anweisung getroffen. Daher ist die Funktion ineffizient.

Betriebsprotokoll

Truncate schreibt nichts in das Serverprotokoll und kann nicht wiederhergestellt werden.
Beim Löschen wird das Serverprotokoll geschrieben.

auslösen

Durch Abschneiden wird der Auslöser nicht aktiviert, durch Löschen jedoch schon.

Zusammenfassen

Oben habe ich Ihnen die beiden Möglichkeiten zum Löschen von MySQL-Tabellendaten und ihre Unterschiede vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Beispiel und Analyse zum Löschen von MySQL-Datentabellen
  • Stapelverarbeitung von Feldinhalten, Löschen, Kopieren und anderen Aktualisierungsbefehlen für MySQL-Datentabellen
  • asp php klar Zugriff mysql mssql Datenbank Code

<<:  Detaillierte Erläuterung der JavaScript-Closure-Probleme

>>:  Schritte zum Bereitstellen eines Docker-Projekts in IDEA

Artikel empfehlen

Detaillierte Analyse von GUID-Anzeigeproblemen in Mongodb

Finden Sie das Problem Ich habe kürzlich den Spei...

Zwei Möglichkeiten zum Konfigurieren globaler Vue-Methoden

Inhaltsverzeichnis 1. Einleitung 2. Die erste Met...

Linux-Installation Apache-Server-Konfigurationsprozess

Bereiten Sie die Taschen vor Installieren Überprü...

Anfänger lernen einige HTML-Tags (1)

Anfänger können HTML lernen, indem sie einige HTM...

MySQL-Index für Anfänger

Vorwort Da die wichtigste Datenstruktur im MySQL-...

Automatische Zeilenumbrüche in HTML-Pre-Tags

Zu diesem Zeitpunkt können Sie overflow:auto; verw...

Verständnis und Anwendung des Destrukturierungsoperators von JavaScript ES6

Inhaltsverzeichnis Vorwort Die Rolle von Dekonstr...