Wie funktioniert der Befehl verkürzungstabelle in SQLite?
Der Befehl TRUNCATE -Tabelle wird von SQLITE nicht unterstützt, um die Zeilen zu löschen oder die Daten der gesamten Tabelle zu löschen, ohne die Struktur der Tabelle zu ändern. Wir können diese Aufgabe jedoch auf andere Weise erledigen lassen, die die Löschklausel verwendet. Die Löschklausel löscht alle Daten aus der Tabelle, unterscheidet sich jedoch geringfügig von der Abschneidungsklausel. Einige der wichtigen Unterschiede sind:
KÜRZEN | LÖSCHEN |
---|---|
Dies wird verwendet, um Zeilen aus der gesamten Tabelle zu löschen | Dies wird verwendet, um eine bestimmte Zeile (unter Verwendung von WO) oder alle Zeilen (ohne WHERE zu verwenden) zu löschen |
Schnellere Ausführung | Langsame Ausführung im Vergleich zu Kürzungen |
Wir können mithilfe der Änderungserlaubnis abschneiden | Wir können mithilfe der Erlaubnis löschen |
Kann nicht mit indizierten Ansichten verwendet werden | Kann mit indizierten Ansichten verwendet werden |
Es handelt sich um einen Befehl DDL (Data Definition Language) | Es handelt sich um einen Befehl DML (Data Manipulationssprache) |
Syntax des Befehls delete
Die allgemeine Syntax des Befehls delete wird angegeben, in dem die Funktionalität von Truncate in SQLite ausgeführt wird:
Löschen aus table_name;Die Erklärung dieser Syntax ist einfach:
So verwenden Sie den Befehl Delete anstelle von SQLite abgestürzt
Zunächst zeigen wir alle in der Datenbank verfügbaren Tabellen an:
.TischeJetzt werden wir den Inhalt der genannten Tabelle, Player_Data, mit dem Befehl an
Wählen Sie * von Players_data;Um jetzt alle Zeilen zu löschen, verwenden wir die Löschklausel, ohne die WHERE -Klausel als zu verwenden:
Löschen von Players_data;Wir werden die Tabelle anzeigen, um zu bestätigen, ob die Tabelle aus der Datenbank vorhanden oder gelöscht wird:
.TischeJetzt werden wir jetzt die erfolgreiche Ausführung des obigen Befehls bestätigen, indem wir die gesamten Daten der Tabelle mit:
Wählen Sie * von Players_data;Um zu bestätigen, ob die Spalten vorhanden sind oder nicht, zeigen wir die Details der Tabelle an:
Pragma table_info ([player_data]);Aus der obigen Ausgabe können die Zeilen der Tabelle ausgelöscht werden, ohne die Struktur einer Tabelle zu löschen, aber die Größe der Tabelle ist mit den Daten der Zeilen mit den Daten überein. Um den Raum durch diese Daten einzuschätzen, werden wir ihn vakuumieren, indem wir den folgenden Befehl ausführen:
VAKUUM;Was ist der Unterschied zwischen Löschen- und Drop -Klauseln in SQLite
Die Löschklausel wird verwendet, um die Daten einer oder mehreren Zeilen zu entfernen. Die Drop -Klausel wird jedoch verwendet, um die gesamte Tabelle aus der Datenbank zu löschen. Zum Beispiel haben wir im obigen Beispiel die Player_Data mit der Löschklausel gelöscht, die nur die Zeilen der Tabelle entfernt. Jetzt werden wir die gleiche Tabelle, Player_Data, fallen lassen, indem wir die Drop -Klausel wie folgt verwenden:
Drop table Players_data;Jetzt werden wir die Tabelle erneut mit:
Wählen Sie * von Players_data;Die gesamte Tabelle, Player_Data, wurde mit der Drop -Tabellenklausel aus der Datenbank gelöscht.
Abschluss
Es gibt geringfügige Unterschiede in SQLite, da die anderen relationalen Datenbanken wie die Abschneidungstabellenklausel nicht von SQLite unterstützt werden, aber wir können die Löschklausel für denselben Zweck verwenden. In diesem Artikel haben wir gelernt, wie man die Löschklausel verwendet, um die Daten aus einer Tabelle zu entfernen, ohne die Tabelle aus der Datenbank zu entfernen. Wir haben auch den Unterschied zwischen Löschen und Drop -Klauseln gelernt.