Dans SQLite, nous pouvons interroger le sqlite_schema table pour savoir si une table donnée existe.
Avant la version 3.33.0 de SQLite, cette table était appelée sqlite_master (il peut toujours être référencé comme tel dans les versions ultérieures pour une compatibilité descendante).
Exemple
Voici un exemple pour illustrer :
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
); Résultat :
1
Dans ce cas, la table existe et 1 est renvoyé.
Voici un exemple de ce qui se passe lorsque la table n'existe pas :
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
); Résultat :
0
Le sqlite_master Tableau
La même requête peut être exécutée en utilisant sqlite_master au lieu de sqlite_schema :
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
); Résultat :
1
Vous pouvez également utiliser sqlite_temp_schema ou sqlite_temp_master , mais ceux-ci ne fonctionnent que pour le TEMP base de données associée à chaque connexion à la base de données.