W SQLite, table_list
pragma zwraca informacje o tabelach i widokach w schemacie.
Został po raz pierwszy wprowadzony w wersji SQLite 3.37.0 (wydanej 27.11.2021).
Składnia
table_list
pragma może być używana na jeden z następujących sposobów:
PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
Gdzie schema
to nazwa konkretnego schematu, dla którego chcesz wyświetlić listę tabel i widoków.
A gdzie table-name
to nazwa konkretnych tabel lub widoków, które chcesz wyświetlić.
Przykład
PRAGMA table_list;
Wynik:
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
Widzimy, że nazwy tabel i widoków są wymienione w name
kolumna. Możemy również sprawdzić, czy jest to tabela, czy widok, patrząc na type
kolumna. I oczywiście nazwa schematu jest wymieniona w schema
kolumna.
ncol
kolumna zawiera liczbę kolumn w tabeli, w tym kolumny wygenerowane i kolumny ukryte.
wr
kolumna wskazuje, czy tabela została zdefiniowana z WITHOUT ROWID
opcja. W naszym przykładzie widzimy, że Customers
tabela została zdefiniowana za pomocą WITHOUT ROWID
.
strict
kolumna wskazuje, czy tabela została zdefiniowana za pomocą STRICT
opcja. Ta opcja została wprowadzona w SQLite w wersji 3.37.0 (tej samej wersji co table_list
pragma została wprowadzona). W naszym przykładzie widzimy, że Customers
i Orders
tabele zostały zdefiniowane za pomocą STRICT
opcja.
Pobierz wszystkie tabele z określonej bazy danych
Możemy dołączyć nazwę schematu, aby zwrócić tylko tabele i widoki w danej bazie danych:
PRAGMA Store.table_list;
Wynik:
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
Pobierz tabele według nazwy
Możemy podać nazwę tabeli/widoku, aby zwrócić wszystkie tabele/widoki o tej nazwie we wszystkich bazach danych:
PRAGMA table_list('Dogs');
Wynik:
schema name type ncol wr strict ------ ---- ----- ---- -- ------ Store Dogs table 3 0 0 Pets Dogs table 2 0 0
W tym przypadku widzimy, że zarówno Store
i Pets
schematy mają tabelę o nazwie Dogs
.