No SQLite, a
table_list
pragma retorna informações sobre as tabelas e exibições no esquema. Foi introduzido pela primeira vez no SQLite versão 3.37.0 (lançado em 27/11/2021).
Sintaxe
A
table_list
pragma pode ser usado em qualquer uma das seguintes maneiras:PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
Onde
schema
é o nome de um esquema específico para o qual você deseja listar as tabelas e visualizações. E onde
table-name
é o nome de tabelas ou visualizações específicas que você gostaria de listar. Exemplo
PRAGMA table_list;
Resultado:
tipo de nome de esquema 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 ver 3 0 0 Loja sqlite_schema table 5 0 0 Pets Mesa de eventos 4 0 0 Pets Pets mesa 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 os nomes da tabela e da visão estão listados no
name
coluna. Também podemos ver se é uma tabela ou visualização observando o type
coluna. E, claro, o nome do esquema está listado no schema
coluna. O
ncol
coluna contém o número de colunas na tabela, incluindo colunas geradas e colunas ocultas. O
wr
coluna indica se a tabela foi ou não definida com o WITHOUT ROWID
opção. Em nosso exemplo, podemos ver que o Customers
tabela foi definida com WITHOUT ROWID
. O
strict
coluna indica se a tabela foi ou não definida com o STRICT
opção. Esta opção foi introduzida no SQLite versão 3.37.0 (a mesma versão que o table_list
pragma foi introduzido). No nosso exemplo, podemos ver que os Customers
e Orders
tabelas foram definidas com o STRICT
opção. Obter todas as tabelas em um banco de dados específico
Podemos incluir o nome do esquema para retornar apenas as tabelas e visualizações em um determinado banco de dados:
PRAGMA Store.table_list;
Resultado:
tipo de nome de esquema ncol wr strict------ ------------- ----- ---- -- -------Tabela de pedidos de armazenamento 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
Obter tabelas por nome
Podemos fornecer o nome da tabela/exibição para retornar todas as tabelas/exibições com esse nome em todos os bancos de dados:
PRAGMA table_list('Dogs');
Resultado:
schema name type ncol wr strict------ ---- ----- ---- -- ------Store Dogs table 3 0 0 Pets Dogs table 2 0 0
Neste caso podemos ver que tanto aStore
ePets
esquemas têm uma tabela chamadaDogs
.