sql >> Base de Datos >  >> RDS >> SQLite

Cómo comprobar si existe una tabla en SQLite

En SQLite, podemos consultar el sqlite_schema table para averiguar si existe una tabla dada.

Antes de la versión 3.33.0 de SQLite, esta tabla se denominaba sqlite_master (todavía se puede hacer referencia a él como tal en versiones posteriores para la compatibilidad con versiones anteriores).

Ejemplo

Aquí hay un ejemplo para demostrarlo:

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

Resultado:

1

En este caso, la tabla existe y 1 es devuelto.

Este es un ejemplo de lo que sucede cuando la tabla no existe:

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

Resultado:

0

El sqlite_master Mesa

La misma consulta se puede ejecutar usando sqlite_master en lugar de sqlite_schema :

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

Resultado:

1

También puede usar sqlite_temp_schema o sqlite_temp_master , pero estos solo funcionan para TEMP base de datos asociada con cada conexión de base de datos.