SQLite Truncate Table
Dans SQLite, il n'existe pas de commande TRUNCATE TABLE, mais vous pouvez utiliser la commandeDELETEDELETE de SQLite pour supprimer toutes les données d'une table existante.
Syntaxe
La syntaxe de base de la commande DELETE est la suivante :
sqlite> DELETE FROM table_name;
Cependant, cette méthode ne permet pas de réinitialiser la valeur d'auto-incrémentation à zéro.
Si vous souhaitez réinitialiser la valeur d'incrémentation à zéro, vous pouvez utiliser la méthode suivante :
sqlite> DELETE FROM sqlite_sequence WHERE name = 'table_name';
Lorsqu'une base de données SQLite contient une colonne auto-incrémentée, une table nommée sqlite_sequence est automatiquement créée. Cette table contient deux colonnes : name et seq. name enregistre la table dans laquelle se trouve la colonne auto-incrémentée, et seq enregistre le numéro de séquence actuel (le numéro de l'enregistrement suivant est le numéro de séquence actuel plus 1). Si vous souhaitez réinitialiser à zéro le numéro de séquence d'une colonne auto-incrémentée particulière, il vous suffit de modifier la table sqlite_sequence.
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'table_name';
Exemples
Supposons que la table COMPANY contienne les enregistrements suivants :
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Voici un exemple de suppression d'enregistrements de la table ci-dessus :
SQLite> DELETE FROM sqlite_sequence WHERE name = 'COMPANY'; SQLite> VACUUM;
Maintenant, les enregistrements de la table COMPANY ont été complètement supprimés, et l'utilisation de l'instruction SELECT ne produira aucune sortie.
Autres extensions