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

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...

11 Möglichkeiten, Duplikate aus JS-Arrays zu entfernen

Bei der tatsächlichen Arbeit oder bei Interviews ...

Reines js, um den Effekt eines Karussells zu erzielen

In diesem Artikel wird der spezifische Code von j...

Front-End-JavaScript versteht Funktions-Currying gründlich

Inhaltsverzeichnis 1. Was ist Curry 2. Verwendung...

Detaillierte Erklärung des Vue3-Sandbox-Mechanismus

Inhaltsverzeichnis Vorwort Browser kompilierte Ve...

Linux löscht automatisch Protokolle und Beispielbefehle von vor n Tagen

1. Befehl zum Löschen von Dateien: Suche das ents...

Anweisungen zur Verwendung von JSON-Operationsfunktionen in Mysql5.7

Vorwort JSON ist ein leichtes Datenaustauschforma...

Eine kurze Diskussion über Yahoos 35 Regeln zur Front-End-Optimierung

Zusammenfassung: Ob bei der Arbeit oder im Vorste...

Eine Frage zur Einstellung des Randradius-Werts

Problemdatensatz Heute wollte ich ein kleines Bau...

So stellen Sie eine Verbindung zum MySQL-Visualisierungstool Navicat her

Nach der Installation von Navicat Der folgende Fe...

MySQL implementiert eine Lösung ähnlich der Oracle-Sequenz

MySQL implementiert Oracle-ähnliche Sequenzen Ora...

MySQL-Index für Anfänger

Vorwort Da die wichtigste Datenstruktur im MySQL-...