SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite löschen

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. Das WHERE -Klausel ist ein optionaler Teil von DELETE Erklärung. Wenn Sie WHERE weglassen -Klausel, die DELETE 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.