So löschen Sie Tabellendaten in MySQL

So löschen Sie Tabellendaten in MySQL

Es gibt zwei Möglichkeiten, Daten in MySQL zu löschen: eine ist die DELETE-Anweisung und die andere ist die TRUNCATE TABLE-Anweisung. Mit der DELETE-Anweisung können die zu löschenden Datensätze über WHERE ausgewählt werden. Mit TRUNCATE TABLE werden alle Datensätze in der Tabelle gelöscht. Daher ist die DELETE-Anweisung flexibler.

Wenn Sie alle Datensätze in einer Tabelle löschen möchten, können Sie die folgenden zwei Methoden verwenden:

LÖSCHEN AUS Tabelle1

TRUNCATE TABLE Tabelle1

Die TABELLE im zweiten Datensatz ist optional.

Wenn Sie einige Datensätze in einer Tabelle löschen möchten, können Sie nur die DELETE-Anweisung verwenden.

 LÖSCHEN AUS Tabelle1, WO ...;

Wenn DELETE keine WHERE-Klausel hat, ist es dasselbe wie TRUNCATE TABLE, aber es gibt einen Unterschied zwischen ihnen: DELETE kann die Anzahl der gelöschten Datensätze zurückgeben, während TRUNCATE TABLE 0 zurückgibt.

Wenn eine Tabelle ein Auto-Increment-Feld besitzt, wird nach dem Löschen aller Datensätze mit TRUNCATE TABLE und DELETE ohne WHERE-Klausel der Startwert des Auto-Increment-Felds auf 1 zurückgesetzt. Wenn Sie dies nicht möchten, können Sie in der DELETE-Anweisung ein permanentes WHERE hinzufügen, beispielsweise WHERE 1 oder WHERE true.

   LÖSCHEN AUS Tabelle1, WO 1;

Bei der Ausführung scannt die obige Anweisung jeden Datensatz. Es besteht jedoch kein Vergleich, da diese WHERE-Bedingung immer wahr ist. Obwohl dadurch der Maximalwert der automatischen Inkrementierung beibehalten werden kann, werden alle Datensätze gescannt, sodass die Ausführungskosten viel höher sind als bei DELETE ohne WHERE-Klausel.

Der größte Unterschied zwischen DELETE und TRUNCATE TABLE besteht darin, dass DELETE die zu löschenden Datensätze über die WHERE-Anweisung auswählen kann, die Ausführungsgeschwindigkeit jedoch nicht hoch ist.

Nachdem Truncate gelöscht wurde, wird das MySQL-Protokoll nicht aufgezeichnet und die Daten können nicht wiederhergestellt werden. Der Effekt von „Löschen“ ähnelt dem Löschen aller Datensätze in der MySQL-Tabelle nacheinander, bis alle gelöscht sind. „Abschneiden“ hingegen entspricht dem Beibehalten der Struktur der MySQL-Tabelle und dem Neuerstellen der Tabelle, und alle Zustände entsprechen denen der neuen Tabelle. Es kann auch die Anzahl der gelöschten Datensätze zurückgeben. TRUNCATE TABLE kann die angegebenen Datensätze jedoch nicht löschen und kann die gelöschten Datensätze nicht zurückgeben. Die Ausführung erfolgt jedoch sehr schnell.

Im Gegensatz zu Standard-SQL-Anweisungen unterstützt DELETE ORDER BY- und LIMIT-Klauseln. Mit diesen beiden Klauseln können wir die zu löschenden Datensätze besser kontrollieren. Wenn wir beispielsweise nur einen Teil der von der WHERE-Klausel herausgefilterten Datensätze löschen möchten, können wir LIMIT verwenden. Wenn wir die letzten paar Datensätze löschen möchten, können wir ORDER BY und LIMIT zusammen verwenden. Angenommen, wir möchten die ersten 6 Datensätze in der Benutzertabelle löschen, deren Name „Mike“ ist. Sie können die folgende DELETE-Anweisung verwenden:

   LÖSCHEN VON Benutzern, WO Name = ‚Mike‘ LIMIT 6;

Im Allgemeinen ist MySQL nicht sicher, welche 6 Datensätze gelöscht werden. Um sicherzugehen, können wir ORDER BY verwenden, um die Datensätze zu sortieren.
LÖSCHEN VON Benutzern, WO Name = ‚Mike‘ ORDER BY ID DESC LIMIT 6;

Zusammenfassen

Dies ist der gesamte Inhalt dieses Artikels zum Löschen von Tabellendaten in MySQL. Ich hoffe, er ist für alle hilfreich. Interessierte Freunde können sich hier informieren: Detaillierte Erläuterung der MySQL-Vorbereitungsprinzipien, mehrere wichtige MySQL-Variablen, Analyse der wichtigsten Punkte der ORACLE-SQL-Anweisungsoptimierungstechnologie usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen und der Herausgeber wird Ihnen rechtzeitig antworten.

Das könnte Sie auch interessieren:
  • Code zum Batch-Löschen von Datentabellen mit demselben Präfix in Mysql in PHP
  • Detaillierte Anweisungen und Syntax zum Erstellen und Löschen von Tabellen in MySQL
  • Erste Schritte mit MySQL (IV) Einfügen, Aktualisieren und Löschen von Daten aus einer Tabelle
  • So löschen Sie eine MySQL-Tabelle
  • mysql drop database - Befehl „Datenbank löschen“ - Beispielerklärung
  • Detaillierte Erklärung, wie man doppelte Daten in MySQL findet und löscht und nur ein Beispiel behält
  • So löschen Sie schnell alle Tabellen in MySQL, ohne die Datenbank zu löschen
  • Vergleich der MySQL Delete- und Truncate-Anweisungen
  • Zusammenfassung der Methoden zum Löschen doppelter Daten in der MySQL-Datenbank
  • Beispiel für die MySQL-Methode zum Löschen von Daten und Datentabellen

<<:  Detaillierte Erläuterung zum Upgrade von Python und zur Installation von Pip unter Linux

>>:  CocosCreator allgemeines Framework-Design Ressourcenmanagement

Artikel empfehlen

So verwenden Sie „union all“ in MySQL, um die Union-Sortierung zu erhalten

Manchmal kommt es in einem Projekt aus irreversib...

CentOS verwendet expect, um Skripte und Befehle remote in Stapeln auszuführen

Manchmal müssen wir Server stapelweise bedienen, ...

So erstellen Sie eine Datenbank in Navicat 8 für MySQL

Beim Entwickeln einer Website müssen Sie häufig e...

Detaillierte Erklärung der MySQL-Binlog-Verwendung

binlog ist eine binäre Protokolldatei, die alle D...

Grundlegendes Handbuch für Webdesign 216 Websichere Farben

Die Farbdarstellung auf einer Webseite wird von ve...

Zusammenfassung einiger gängiger Verwendungen von Refs in React

Inhaltsverzeichnis Was sind Refs 1. Referenzen vo...

So zeigen Sie Webseiten in verschiedenen Auflösungen und Browsern richtig an

Die Schlüsselcodes lauten wie folgt: Code kopieren...

React realisiert den gesamten Prozess des Seitenwasserzeicheneffekts

Inhaltsverzeichnis Vorwort 1. Anwendungsbeispiele...

Beispielanalyse von MySQL-Start- und Verbindungsmethoden

Inhaltsverzeichnis So starten Sie mysqld Methode ...