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
.