sql >> Database teknologi >  >> RDS >> SQLite

Sådan kontrolleres, om der findes en tabel i SQLite

I SQLite kan vi forespørge sqlite_schema tabel for at finde ud af, om en given tabel eksisterer.

Før SQLite version 3.33.0 blev denne tabel omtalt som sqlite_master (det kan stadig omtales som sådan i efterfølgende udgivelser for bagudkompatibilitet).

Eksempel

Her er et eksempel til demonstration:

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_schema 
    WHERE 
        type='table' AND 
        name='Customers'
    );

Resultat:

1

I dette tilfælde eksisterer tabellen og 1 er returneret.

Her er et eksempel på, hvad der sker, når tabellen ikke eksisterer:

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_schema 
    WHERE 
        type='table' AND 
        name='Inventory'
    );

Resultat:

0

sqlite_master Tabel

Den samme forespørgsel kan køres ved hjælp af sqlite_master i stedet for sqlite_schema :

SELECT EXISTS (
    SELECT 
        name
    FROM 
        sqlite_master 
    WHERE 
        type='table' AND 
        name='Customers'
    );

Resultat:

1

Du kan også bruge sqlite_temp_schema eller sqlite_temp_master , men disse virker kun for TEMP database knyttet til hver databaseforbindelse.


  1. Base 36 til Base 10 konvertering ved brug af SQL

  2. Mysql:hvordan vælger man grupper med bestemte værdier?

  3. Oracle vælg seneste datopost

  4. Befolkning af Teradata med realistiske testdata De Novo