En SQLite, la table_list pragma devuelve información sobre las tablas y vistas en el esquema.
Se introdujo por primera vez en SQLite versión 3.37.0 (lanzado el 2021-11-27).
Sintaxis
La table_list pragma se puede utilizar de cualquiera de las siguientes formas:
PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
Donde schema es el nombre de un esquema específico para el que le gustaría enumerar las tablas y vistas.
Y donde table-name es el nombre de tablas o vistas específicas que le gustaría enumerar.
Ejemplo
PRAGMA table_list; Resultado:
schema name type ncol wr strict ------ ------------------ ----- ---- -- ------ main sqlite_schema table 5 0 0 temp sqlite_temp_schema table 5 0 0 Store Orders table 2 0 1 Store Customers table 4 1 1 Store Products table 3 0 0 Store Types table 3 0 0 Store Dogs table 3 0 0 Store Cats table 3 0 0 Store vProducts view 3 0 0 Store sqlite_schema table 5 0 0 Pets Events table 4 0 0 Pets Pets table 3 0 0 Pets Types table 2 0 0 Pets Cats table 2 0 0 Pets Dogs table 2 0 0 Pets sqlite_schema table 5 0 0
Podemos ver que los nombres de la tabla y la vista se enumeran en el name columna. También podemos ver si se trata de una tabla o una vista mirando el type columna. Y, por supuesto, el nombre del esquema aparece en el schema columna.
El ncol columna contiene el número de columnas en la tabla, incluidas las columnas generadas y las columnas ocultas.
El wr columna indica si la tabla se ha definido o no con WITHOUT ROWID opción. En nuestro ejemplo, podemos ver que los Customers la tabla se ha definido con WITHOUT ROWID .
El strict columna indica si la tabla se ha definido o no con STRICT opción. Esta opción se introdujo en SQLite versión 3.37.0 (la misma versión que la table_list se introdujo el pragma). En nuestro ejemplo, podemos ver que los Customers y Orders las tablas se han definido con STRICT opción.
Obtener todas las tablas en una base de datos específica
Podemos incluir el nombre del esquema para devolver solo las tablas y vistas en una base de datos dada:
PRAGMA Store.table_list; Resultado:
schema name type ncol wr strict ------ ------------- ----- ---- -- ------ Store Orders table 2 0 1 Store Customers table 4 1 1 Store Products table 3 0 0 Store Types table 3 0 0 Store Dogs table 3 0 0 Store Cats table 3 0 0 Store vProducts view 3 0 0 Store sqlite_schema table 5 0 0
Obtener tablas por nombre
Podemos proporcionar el nombre de la tabla/vista para devolver todas las tablas/vistas con ese nombre en todas las bases de datos:
PRAGMA table_list('Dogs'); Resultado:
schema name type ncol wr strict ------ ---- ----- ---- -- ------ Store Dogs table 3 0 0 Pets Dogs table 2 0 0
En este caso podemos ver que tanto la Store y Pets los esquemas tienen una tabla llamada Dogs .