In SQLite kunnen we het sqlite_schema
. opvragen tabel om te zien of een bepaalde tabel bestaat.
Voorafgaand aan SQLite versie 3.33.0 werd naar deze tabel verwezen als sqlite_master
(er kan nog steeds naar worden verwezen in volgende releases voor achterwaartse compatibiliteit).
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
Resultaat:
1
In dit geval bestaat de tabel en 1
wordt geretourneerd.
Hier is een voorbeeld van wat er gebeurt als de tabel niet bestaat:
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
Resultaat:
0
De sqlite_master
Tabel
Dezelfde query kan worden uitgevoerd met sqlite_master
in plaats van sqlite_schema
:
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
Resultaat:
1
U kunt ook sqlite_temp_schema
. gebruiken of sqlite_temp_master
, maar deze werken alleen voor de TEMP
database gekoppeld aan elke databaseverbinding.