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 Erklärung des JavaScript-Proxy-Objekts

Inhaltsverzeichnis 1. Was ist ein Proxy? 2. Wie w...

Warum sind die Bilder in mobilen Web-Apps nicht klar und sehr verschwommen?

Warum? Am einfachsten lässt es sich so ausdrücken:...

Implementierung integrierter Module und benutzerdefinierter Module in Node.js

1. Commonjs Commonjs ist ein benutzerdefiniertes ...

Womit kann ich dich, meinen Tisch, retten (Haiyu-Blog)

Tabellen spielten einst eine sehr wichtige Rolle ...

HTML-Tbody-Verwendung

Strukturierte Tabelle (nur IExplore) 1) Gruppieren...

Fehlerbehebung bei der Ursache des 502 Bad Gateway-Fehlers auf dem Nginx-Server

Der Server meldet einen Fehler 502 beim Synchroni...

Vue implementiert Drag-Fortschrittsbalken

In diesem Artikelbeispiel wird der spezifische Co...

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

Der beste Weg, ein JAR-Paketprojekt unter einem Centos7-Server zu starten

Vorwort Jeder weiß, wie man ein JAR-Paket unter L...

Verwendung und Beschreibung des HTML-Tags tbody

Das Tbody-Element sollte in Verbindung mit den Ele...

Lösung für den Fehler bei der Verbindung mit MySQL in Docker

Szenario: Nach der Installation der neuesten Vers...