Heim > Datenbank > MySQL-Tutorial > Eine kurze Diskussion über die beiden Methoden und Unterschiede beim Löschen von Tabellendaten in MySQL

Eine kurze Diskussion über die beiden Methoden und Unterschiede beim Löschen von Tabellendaten in MySQL

青灯夜游
Freigeben: 2019-11-27 17:43:48
nach vorne
2788 Leute haben es durchsucht

Eine kurze Diskussion über die beiden Methoden und Unterschiede beim Löschen von Tabellendaten in MySQL

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

1, truncate (Trunkierung) ist eine grobe Art der Löschung

2. deleteVerfeinertes Löschen

Löschvorgang

Wenn Sie alle Daten in der Tabelle löschen müssen, stehen die folgenden beiden zur Verfügung :

delete from tablename;
truncate table tablename;
Nach dem Login kopieren

Und wenn Sie nur einen Teil der Daten löschen, können Sie nur delete verwenden:

delete from tablename where case1 and case2;
Nach dem Login kopieren

Differenz

Beim detaillierten Löschen eines Teils der Daten kann nur delete verwendet werden.

Beim Löschen aller Tabellendaten ist beides möglich. Derzeit gibt es bestimmte Unterschiede zwischen den beiden Methoden:

1. Rückgabewert

truncateDer Rückgabewert ist 0 und delete gibt die Anzahl der gelöschten Datensätze zurück

mysql> truncate serviceHost;
Query OK, 0 rows affected (0.04 sec)
mysql> delete from serviceHost where creator='test';
Query OK, 4 rows affected (0.01 sec)
Nach dem Login kopieren

2. Feld automatisch inkrementieren

Wenn vorhanden Bei Feldern mit automatischer Inkrementierung wird truncate auf 1 zurückgesetzt und delete behält den Maximalwert für die automatische Inkrementierung bei.

3. Ausführungseffizienz

truncateDas Nichtscannen der Tabelle ist gleichbedeutend damit, die Tabelle neu zu erstellen, nur die Struktur der Tabelle beizubehalten und sie dann zu löschen Originaltisch. Sehr effizient.
delete scannt die gesamte Tabelle und trifft eine Beurteilung basierend auf der where-Anweisung, sodass die Effizienz gering ist.

4. Betriebsprotokoll

truncateWenn das Serverprotokoll nicht geschrieben wird, kann es nicht wiederhergestellt werden.
delete schreibt Serverprotokolle.

5. Auslöser

truncate aktiviert den Auslöser nicht, delete aktiviert den Auslöser.

Empfohlenes Lernen: MySQL-Tutorial

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die beiden Methoden und Unterschiede beim Löschen von Tabellendaten in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage