sql >> Database >  >> RDS >> SQLite

PRAGMA table_list in SQLite

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 .


  1. SQL rij-retourvolgorde

  2. Syntaxisfout in Postgres-droptabel

  3. SQL Server 2016 op Linux

  4. Salesforce-gegevens vertalen naar EDI-indeling