Zusammenfassung :Dieses Tutorial zeigt Ihnen, wie Sie SQLite DELETE
verwenden Anweisung zum Entfernen von Zeilen aus einer Tabelle.
Einführung in SQLite DELETE
Erklärung
Sie haben gelernt, wie Sie eine neue Zeile in eine Tabelle einfügen und vorhandene Daten einer Tabelle aktualisieren. Manchmal müssen Sie Zeilen aus einer Tabelle entfernen. In diesem Fall verwenden Sie SQLite DELETE
Erklärung.
Das SQLite DELETE
-Anweisung können Sie eine Zeile, mehrere Zeilen und alle Zeilen in einer Tabelle löschen. Die Syntax von SQLite DELETE
Anweisung lautet wie folgt:
DELETE FROM table
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax:
- Geben Sie zuerst den Namen der Tabelle an, aus der Sie Zeilen nach dem
DELETE FROM
entfernen möchten Schlüsselwörter. - Als Zweites fügen Sie eine Suchbedingung in
WHERE
hinzu -Klausel, um die zu entfernenden Zeilen zu identifizieren. DasWHERE
-Klausel ist ein optionaler Teil vonDELETE
Erklärung. Wenn SieWHERE
weglassen -Klausel, dieDELETE
Anweisung löscht alle Zeilen in der Tabelle.
SQLite bietet auch eine Erweiterung für DELETE
Anweisung durch Hinzufügen von ORDER BY
und LIMIT
Klauseln. Wenn Sie SQLite mit der Kompilierzeitoption SQLITE_ENABLE_UPDATE_DELETE_LIMIT kompilieren, können Sie ORDER BY
verwenden und LIMIT
-Klausel in DELETE
Anweisung wie die folgende Form:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Der ORDER BY
-Klausel sortiert die Zeilen, die nach der vorangehenden search_condition
gefiltert wurden im WHERE
-Klausel und das LIMIT
-Klausel gibt die Anzahl der zu löschenden Zeilen an.
Beachten Sie das, wenn Sie DELETE
verwenden Anweisung ohne WHERE
-Klausel für eine Tabelle, die keine Trigger hat. SQLite löscht alle Zeilen auf einmal, anstatt jede einzelne Zeile zu besuchen und zu löschen. Diese Funktion wird als Abschneideoptimierung bezeichnet.
SQLite DELETE
Anweisungsbeispiele
Wir werden das artists_backup
verwenden Tabelle, die in der Anleitung zum Einfügen von Zeilen in eine Tabelle erstellt wurde.
Wenn Sie dieses Tutorial nicht befolgt haben, können Sie das artists_backup
erstellen Tabelle und fügen Sie Daten mit dem folgenden Skript ein:
-- create artists backup table
CREATE TABLE artists_backup(
artistid INTEGER PRIMARY KEY AUTOINCREMENT,
name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup
SELECT artistid,name
FROM artists;
Code language: SQL (Structured Query Language) (sql)
Die folgende Anweisung gibt alle Zeilen aus artists_backup
zurück Tabelle:
SELECT
artistid,
name
FROM
artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Wir haben 280 Zeilen im artists_backup
Tabelle.
Um einen Künstler mit der ID 1 zu entfernen, verwenden Sie die folgende Anweisung:
DELETE FROM artists_backup
WHERE artistid = 1;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Weil wir artistid
verwenden Um den Künstler zu identifizieren, wurde bei der Aussage genau 1 Zeile entfernt.
Angenommen, Sie möchten Künstler löschen, deren Namen das Wort Santana
enthalten :
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Es gibt 9 Zeilen, deren Werte im name
enthalten sind Spalte enthält das Wort Santana
daher wurden diese 9 Zeilen gelöscht.
Um alle Zeilen in artists_backup
zu entfernen Tabelle, Sie müssen nur das WHERE
weglassen -Klausel wie die folgende Anweisung:
DELETE FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
In diesem Tutorial haben Sie gelernt, wie Sie SQLite DELETE
verwenden Anweisung zum Entfernen von Zeilen in einer Tabelle.