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

Zusammenfassung der sieben grundlegenden XHTML-Codierungsregeln

1. Alle Tags müssen ein entsprechendes End-Tag hab...

IE8 bietet eine gute Erfahrung: Aktivitäten

Heute habe ich einen kleinen Vorgeschmack auf IE8...

SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

brauchen: Identische Elemente eines Feldes zusamm...

So verwenden Sie Echarts zum Visualisieren von Komponenten in Vue

Offizielle Website-Adresse der Echarts-Komponente...

Vergleich der Effizienz der Dateneinfügung in MySQL

Beim Einfügen von Daten stellte ich fest, dass ic...

Verwendung von „Select“, „Distinct“ und „Limit“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. auswählen 2.1...

Beispiel zur Erhöhung des Swap-Speichers im CentOS7-System

Vorwort Swap ist eine spezielle Datei (oder Parti...

Ubuntu-Installations-Grafiktreiber und CUDA-Tutorial

Inhaltsverzeichnis 1. Deinstallieren Sie den Orig...

Mehrere Möglichkeiten zur Lösung von CSS-Stilkonflikten (Zusammenfassung)

1. Verfeinern Sie den Selektor Durch die Verwendu...

Verwenden Sie js, um ein einfaches Schlangenspiel zu schreiben

In diesem Artikel wird der spezifische Code eines...

Beispielanalyse der Listen-Direktive in Nginx

Handlungsüberblick Im vorherigen Artikel haben wi...