sql >> Database >  >> RDS >> SQLite

Hoe te controleren of een tabel bestaat in SQLite

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.


  1. SQL Server - Een tabel vergrendelen totdat een opgeslagen procedure is voltooid

  2. Wat is de maximale lengte van gegevens die ik in een BLOB-kolom in MySQL kan plaatsen?

  3. Hoe SQL Server Hiërarchie-ID te gebruiken via eenvoudige voorbeelden

  4. Digitale transformatie:het begint allemaal met datadenken