Es gibt zwei Möglichkeiten, Daten in MySQL
zu löschen:
1, truncate
(Trunkierung) ist eine grobe Art der Löschung
2. delete
Verfeinertes 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;
Und wenn Sie nur einen Teil der Daten löschen, können Sie nur delete
verwenden:
delete from tablename where case1 and case2;
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
truncate
Der 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)
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
truncate
Das 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
truncate
Wenn 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!