In SQLite, de table_list
pragma retourneert informatie over de tabellen en views in het schema.
Het werd voor het eerst geïntroduceerd in SQLite versie 3.37.0 (uitgebracht op 27/11/21).
Syntaxis
De table_list
pragma kan op een van de volgende manieren worden gebruikt:
PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
Waar schema
is de naam van een specifiek schema waarvoor u de tabellen en weergaven wilt weergeven.
En waar table-name
is de naam van specifieke tabellen of weergaven die u wilt vermelden.
Voorbeeld
PRAGMA table_list;
Resultaat:
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
We kunnen zien dat de tabel- en weergavenamen worden vermeld in de name
kolom. We kunnen ook zien of het een tabel of weergave is door te kijken naar het type
kolom. En natuurlijk wordt de schemanaam vermeld in het schema
kolom.
De ncol
kolom bevat het aantal kolommen in de tabel, inclusief gegenereerde kolommen en verborgen kolommen.
De wr
kolom geeft aan of de tabel al dan niet is gedefinieerd met de WITHOUT ROWID
optie. In ons voorbeeld kunnen we zien dat de Customers
tabel is gedefinieerd met WITHOUT ROWID
.
De strict
kolom geeft aan of de tabel al dan niet is gedefinieerd met de STRICT
optie. Deze optie is geïntroduceerd in SQLite versie 3.37.0 (dezelfde versie die de table_list
pragma werd geïntroduceerd). In ons voorbeeld kunnen we zien dat de Customers
en Orders
tabellen zijn gedefinieerd met de STRICT
optie.
Alle tabellen in een specifieke database ophalen
We kunnen de schemanaam opnemen om alleen de tabellen en views in een bepaalde database te retourneren:
PRAGMA Store.table_list;
Resultaat:
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
Tabellen op naam ophalen
We kunnen de naam van de tabel/weergave leveren om alle tabellen/weergaven met die naam in alle databases te retourneren:
PRAGMA table_list('Dogs');
Resultaat:
schema name type ncol wr strict ------ ---- ----- ---- -- ------ Store Dogs table 3 0 0 Pets Dogs table 2 0 0
In dit geval kunnen we zien dat zowel de Store
en Pets
schema's hebben een tabel met de naam Dogs
.