In SQLite die table_list
Pragma gibt Informationen über die Tabellen und Ansichten im Schema zurück.
Es wurde erstmals in SQLite-Version 3.37.0 (veröffentlicht am 27.11.2021) eingeführt.
Syntax
Die table_list
Pragma kann auf eine der folgenden Arten verwendet werden:
PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
Wobei schema
ist der Name eines bestimmten Schemas, für das Sie die Tabellen und Ansichten auflisten möchten.
Und wo table-name
ist der Name bestimmter Tabellen oder Ansichten, die Sie auflisten möchten.
Beispiel
PRAGMA table_list;
Ergebnis:
Schemaname Typ 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
Wir können sehen, dass die Tabellen- und Ansichtsnamen in name
aufgeführt sind Säule. Wir können auch sehen, ob es sich um eine Tabelle oder eine Ansicht handelt, indem wir uns den type
ansehen Säule. Und natürlich ist der Schemaname im schema
aufgeführt Spalte.
Der ncol
Spalte enthält die Anzahl der Spalten in der Tabelle, einschließlich generierter und ausgeblendeter Spalten.
Das wr
Spalte gibt an, ob die Tabelle mit WITHOUT ROWID
definiert wurde oder nicht Möglichkeit. In unserem Beispiel sehen wir, dass die Customers
Tabelle wurde mit WITHOUT ROWID
definiert .
Der strict
Spalte gibt an, ob die Tabelle mit dem STRICT
definiert wurde oder nicht Möglichkeit. Diese Option wurde in SQLite-Version 3.37.0 eingeführt (dieselbe Version wie die table_list
Pragma eingeführt). In unserem Beispiel sehen wir, dass die Customers
und Orders
Tabellen wurden mit dem STRICT
definiert Option.
Alle Tabellen in einer bestimmten Datenbank erhalten
Wir können den Schemanamen einschließen, um nur die Tabellen und Ansichten in einer bestimmten Datenbank zurückzugeben:
PRAGMA Store.table_list;
Ergebnis:
schema name type ncol wr strict------ ------------- ----- ---- -- ------Store Orders table 2 0 1 Store Customers-Tabelle 4 1 1 Store Products-Tabelle 3 0 0 Store Types-Tabelle 3 0 0 Store Dogs-Tabelle 3 0 0 Store Cats-Tabelle 3 0 0 Store vProducts-Ansicht 3 0 0 Store sqlite_schema-Tabelle 5 0 0
Tabellen nach Namen abrufen
Wir können den Tabellen-/Ansichtsnamen angeben, um alle Tabellen/Ansichten mit diesem Namen in allen Datenbanken zurückzugeben:
PRAGMA table_list('Dogs');
Ergebnis:
Schemaname Typ ncol wr strict------ ---- ----- ---- -- ------Store Dogs-Tabelle 3 0 0 Pets Dogs-Tabelle 2 0 0In diesem Fall sehen wir, dass sowohl der
Store
undPets
Schemas haben eine Tabelle namensDogs
.