Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen den SQL-Befehlen delete und truncate?

Was ist der Unterschied zwischen den SQL-Befehlen delete und truncate?

青灯夜游
Freigeben: 2019-02-20 10:47:06
Original
4293 Leute haben es durchsucht

Sowohl Lösch- als auch Truncate-Befehle können zum Löschen von Daten (Datensätzen) in SQL verwendet werden. Was ist also der Unterschied zwischen ihnen? Der folgende Artikel stellt Ihnen den Unterschied zwischen Lösch- und Abschneidebefehlen vor. Ich hoffe, dass er für Sie hilfreich ist.

Was ist der Unterschied zwischen den SQL-Befehlen delete und truncate?

Was ist der Löschbefehl?

Der Löschbefehl hilft beim Löschen von Datensätzen aus einer Tabelle in der Datenbank. [Video-Tutorial-Empfehlung: MySQL-Tutorial]

Beispiel: Das Folgende ist eine Schülertabelle mit 3 Feldern: student_id, Name, Noten

Was ist der Unterschied zwischen den SQL-Befehlen delete und truncate?

Sie können den SQL-Löschbefehl verwenden, um alle Datensätze in der Schülertabelle zu löschen:

delete from student;
Nach dem Login kopieren

Sie können auch bestimmte Datensätze in der Schülertabelle löschen:

delete from student where student_id =2;
Nach dem Login kopieren

Das obige SQL Der Befehl löscht den Datensatz mit student_id 2. Nach der Ausführung dieser Anweisung enthält die Tabelle nur noch zwei Datensätze: Datensätze mit student_id 1 und 3.

Was ist der Truncate-Befehl?

Der Befehl „truncate“ hilft beim Löschen aller Datensätze aus der Tabelle. Außerdem wird die Tabellenstruktur aus der Datenbank entfernt. Wenn also der Befehl „truncate“ für eine bestimmte Tabelle ausgeführt wird, initialisiert er auch den Primärschlüssel.

Der folgende SQL-Befehl löscht alle Datensätze in der Schülertabelle. Darüber hinaus wird die Tabellenstruktur aus der Datenbank entfernt.

truncate table student;
Nach dem Login kopieren

Was ist der Unterschied zwischen Lösch- und Abschneidebefehlen?

1. Befehlstyp

delete ist ein Data Manipulation Language (DML)-Befehl und truncate ist ein Data Definition Language (DDL)-Befehl .

2. Funktion

Der Löschbefehl löscht einzelne, mehrere oder alle Datensätze aus der Tabelle gemäß der angegebenen SQL-Anweisung, während der Truncate-Befehl alle Datensätze aus der Tabelle löscht Datenbank- und Tabellenstruktur.

3. Where-Klausel

Der Löschbefehl unterstützt die WHERE-Klausel. Sie können die Where-Klausel mit DELETE verwenden, um bestimmte Datensätze zu filtern und zu löschen nicht unterstützt.

4. Sperren

Der Löschbefehl verwendet Sperren auf Zeilenebene, und jede Zeile in der Tabelle ist zum Löschen gesperrt. Sperren der gesamten Tabelle, um alle Datensätze zu löschen.

5. Indexansicht

Der Befehl „Löschen“ kann mit der Indexansicht verwendet werden, der Befehl „Truncate“ kann jedoch nicht mit der Indexansicht verwendet werden.

6. Ausführungsgeschwindigkeit

Da der Löschbefehl Protokolle verwaltet, ist die Geschwindigkeit sehr langsam. Da der Befehl truncate jedoch nur minimale Protokollierungsdatensätze im Transaktionsprotokoll verwaltet, wird er schneller ausgeführt.

7. Tabellenstruktur

Der Befehl „Löschen“ hat keinen Einfluss auf die Tabellenstruktur, während der Befehl „Truncate“ die Tabellenstruktur aus der Datenbank löscht.

8. Transaktionsspeicherplatz

Der Befehl „Löschen“ benötigt mehr Transaktionsspeicherplatz als der Befehl „Truncate“.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den SQL-Befehlen delete und truncate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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