sql >> Databasteknik >  >> RDS >> SQLite

Hur man kontrollerar om en tabell finns i SQLite

I SQLite kan vi fråga sqlite_schema tabell för att ta reda på om en given tabell finns.

Före SQLite version 3.33.0 kallades denna tabell för sqlite_master (det kan fortfarande hänvisas till som sådant i efterföljande utgåvor för bakåtkompatibilitet).

Exempel

Här är ett exempel att visa:

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

Resultat:

1

I det här fallet finns tabellen och 1 returneras.

Här är ett exempel på vad som händer när tabellen inte finns:

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

Resultat:

0

sqlite_master Tabell

Samma fråga kan köras med sqlite_master istället för sqlite_schema :

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

Resultat:

1

Du kan också använda sqlite_temp_schema eller sqlite_temp_master , men dessa fungerar bara för TEMP databas associerad med varje databasanslutning.


  1. Cross Join i Oracle

  2. MySQL kontrollera om en tabell finns utan att skapa ett undantag

  3. Finns det en automatisk modifieringstidsstämpeltyp för Oracle-kolumner?

  4. En guide till automatiserade molndatabaser