SQLite
 sql >> Base de données >  >> RDS >> SQLite

Supprimer SQLite

Résumé :ce tutoriel vous montre comment utiliser SQLite DELETE déclaration pour supprimer des lignes d'une table.

Introduction à SQLite DELETE déclaration

Vous avez appris à insérer une nouvelle ligne dans un tableau et à mettre à jour les données existantes d'un tableau. Parfois, vous devez supprimer des lignes d'une table. Dans ce cas, vous utilisez SQLite DELETE déclaration.

Le SQLite DELETE L'instruction vous permet de supprimer une ligne, plusieurs lignes et toutes les lignes d'une table. La syntaxe du SQLite DELETE déclaration est la suivante :

DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

Dans cette syntaxe :

  • Tout d'abord, spécifiez le nom de la table dont vous souhaitez supprimer des lignes après le DELETE FROM mots-clés.
  • Deuxièmement, ajoutez une condition de recherche dans WHERE clause pour identifier les lignes à supprimer. Le WHERE la clause est une partie facultative de DELETE déclaration. Si vous omettez le WHERE clause, la DELETE l'instruction supprimera toutes les lignes du tableau.

SQLite fournit également une extension au DELETE déclaration en ajoutant ORDER BY et LIMIT clauses. Si vous compilez SQLite avec l'option de compilation SQLITE_ENABLE_UPDATE_DELETE_LIMIT, vous pouvez utiliser le ORDER BY et LIMIT clause dans le DELETE déclaration sous la forme suivante :

DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)

Le ORDER BY la clause trie les lignes filtrées par la search_condition précédente dans le WHERE clause et la LIMIT clause spécifie le nombre de lignes à supprimer.

Notez que lorsque vous utilisez le DELETE instruction sans WHERE clause sur une table qui n'a pas de déclencheurs. SQLite supprimera toutes les lignes en une seule fois au lieu de visiter et de supprimer chaque ligne individuelle. Cette fonctionnalité est connue sous le nom d'optimisation tronquée.

SQLite DELETE exemples d'énoncés

Nous utiliserons le artists_backup tableau créé dans le didacticiel sur l'insertion de lignes dans un tableau.

Si vous n'avez pas suivi ce tutoriel, vous pouvez créer le artists_backup table et insérez-y des données à l'aide du script suivant :

-- 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)

L'instruction suivante renvoie toutes les lignes de artists_backup tableau :

SELECT
	artistid,
	name
FROM
	artists_backup;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Nous avons 280 lignes dans le artists_backup tableau.

Pour supprimer un artiste avec l'id 1, vous utilisez la déclaration suivante :

DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Parce que nous utilisons artistid pour identifier l'artiste, la déclaration a supprimé exactement 1 ligne.

Supposons que vous vouliez supprimer les artistes dont les noms contiennent le mot Santana :

DELETE FROM artists_backup
WHERE name LIKE '%Santana%';Code language: SQL (Structured Query Language) (sql)

Essayez-le

Il y a 9 lignes dont les valeurs dans le name la colonne contient le mot Santana par conséquent, ces 9 lignes ont été supprimées.

Pour supprimer toutes les lignes dans artists_backup table, il vous suffit d'omettre le WHERE clause sous la forme de l'instruction suivante :

DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Essayez-le

Dans ce tutoriel, vous avez appris à utiliser SQLite DELETE déclaration pour supprimer des lignes dans une table.