In SQLite können wir das sqlite_schema abfragen table, um herauszufinden, ob eine bestimmte Tabelle existiert.
Vor SQLite-Version 3.33.0 wurde diese Tabelle als sqlite_master bezeichnet (Aus Gründen der Abwärtskompatibilität kann es in späteren Versionen immer noch so bezeichnet werden).
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
); Ergebnis:
1
In diesem Fall existiert die Tabelle und 1 zurückgegeben wird.
Hier ist ein Beispiel dafür, was passiert, wenn die Tabelle nicht existiert:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
); Ergebnis:
0
Der sqlite_master Tabelle
Dieselbe Abfrage kann mit sqlite_master ausgeführt werden statt sqlite_schema :
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
); Ergebnis:
1
Sie können auch sqlite_temp_schema verwenden oder sqlite_temp_master , aber diese funktionieren nur für TEMP Datenbank, die jeder Datenbankverbindung zugeordnet ist.