SQLite: Tester si une Table existe
Info de Stefan Trost | 22/02/2023 à 21:30
Parfois, nous voulons d'abord vérifier si une certaine table existe avant d'exécuter une instruction SQL. Cela peut être nécessaire, par exemple, avant de créer une table et de vous assurer qu'aucune table ne porte déjà ce nom. Ou nous aimerions écrire des données dans une table ou lire des données d'une table et ne savons pas encore si la table en question existe déjà. Dans cette situation également, un examen peut avoir du sens pour éviter un message d'erreur et pour pouvoir créer le tableau si nécessaire.
Dans ce tutoriel, nous aimerions voir quelles options sont disponibles dans ce contexte avec SQLite. La première chose importante pour cela est la table "sqlite_master" qui est gérée par SQLite lui-même. Dans cette table, il y a les noms de toutes les tables existantes qui peuvent également être interrogées en l'utilisant.
Voici un exemple de vérification de l'existence de la table "tab":
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'tab';
Si le résultat de cette requête est vide, nous savons que la table n'existe pas.
Tables Temporaires
Important: Les tables temporaires ne peuvent pas être récupérées à partir de "sqlite_master" car elles sont répertoriées dans "sqlite_temp_master". Si nous sommes intéressés par les tables temporaires, nous pouvons simplement remplacer "sqlite_master" par "sqlite_temp_master" dans la requête ci-dessus.
SELECT name FROM sqlite_temp_master WHERE type = 'table' AND name = 'tab_temp';
Ici, nous testons l'existence d'une table temporaire appelée "tab_temp".
Créer Table seulement si elle n'existe pas
Pour certaines applications, d'autres solutions sont plus faciles à mettre en œuvre. Par exemple, imaginons que l'un de nos programmes ait besoin de tables dans notre base de données. Lors du démarrage du programme, il n'est pas certain que le programme ait déjà été démarré et que les tables appropriées soient déjà créées. Par conséquent, nous aimerions vérifier si une table spécifique existe déjà afin de ne pouvoir créer la nouvelle table que si ce n'est pas le cas.
CREATE TABLE IF NOT EXISTS 'tab' (...);
Dans ce cas, l'instruction "CREATE TABLE IF NOT EXISTS" peut être la méthode la plus simple. Cette instruction est équivalente à l'instruction "CREATE TABLE" mais elle est complétée par "IF NOT EXISTS". Cela signifie que la nouvelle table n'est créée que si elle n'existe pas encore. Cela vous évite le détour de vérifier cela avant.
Sur l’Auteur
Vous pouvez trouver des logiciels de Stefan Trost sur fr.sttmedia.com. Avez-vous besoin d'un logiciel personnalisé selon vos propres besoins? Écrivez-nous: fr.sttmedia.com/contact
Voir Profil
Sujets Connexes
MySQL: Sauts de Ligne dans MySQL
Conseil | 0 Commentaires
Script Batch: Arrêter Ordinateur Windows
Tutoriel | 4 Commentaires
VirtualBox: Changer la Date et l'Heure
Tutoriel | 10 Commentaires
MySQL: Supprimer Données de Table - Différence entre TRUNCATE, DELETE et DROP
Tutoriel | 0 Commentaires
Renommer des Fichiers en ses Noms de Dossier
Tutoriel | 0 Commentaires
MySQL/PHP: Comment récupérer le dernier INSERT ID
Info | 0 Commentaires
MySQL: Ajouter une nouvelle Colonne à une Table
Tutoriel | 0 Commentaires
Avis Important
Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.
Participer
Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.