Aller au contenu
Structure (DDL)

DROP TABLE

DROP TABLE supprime définitivement une table, ses données, ses index et ses triggers. On le réserve aux tables temporaires ou aux migrations, jamais sans sauvegarde sur des données réelles.

  • supprimer table
  • DDL
  • IF EXISTS

Syntaxe

Modèle
DROP TABLE [IF EXISTS] nom;

Exemple

Exemple concret
CREATE TABLE import_tmp ASSELECT * FROM products WHERE category = 'Audio';DROP TABLE IF EXISTS import_tmp;SELECT nameFROM sqlite_schemaWHERE type = 'table'ORDER BY name;-- Jeu de données : boutique-- Une table de travail créée pour un import, puis supprimée-- Résultat attendu :-- customers-- order_items-- orders-- products

À retenir

  1. IF EXISTS évite une erreur quand la table n'existe pas, ce qui rend un script de migration rejouable.
  2. Pour vider une table en gardant sa structure, utilisez DELETE FROM table, pas DROP TABLE.
  3. Piège : SQLite ne vérifie pas les vues qui dépendent de la table. Elles restent en place et échouent à la prochaine lecture. PostgreSQL refuse le DROP, sauf avec CASCADE qui supprime aussi les vues.
  4. Avec PRAGMA foreign_keys = ON, DROP TABLE échoue si d'autres tables référencent encore des lignes de celle-ci.

Voir aussi