SQLiteでは、table_list
pragmaは、スキーマ内のテーブルとビューに関する情報を返します。
SQLiteバージョン3.37.0(2021-11-27にリリース)で最初に導入されました。
構文
table_list
pragmaは、次のいずれかの方法で使用できます。
PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name);
schema
は、テーブルとビューを一覧表示する特定のスキーマの名前です。
そして、 table-name
リストする特定のテーブルまたはビューの名前です。
例
PRAGMA table_list;
結果:
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
テーブル名とビュー名がname
にリストされていることがわかります。 桁。 type
を見れば、それがテーブルなのかビューなのかを確認することもできます。 桁。そしてもちろん、スキーマ名はschema
にリストされています 列。
ncol
columnには、生成された列と非表示の列を含む、テーブル内の列の数が含まれます。
wr
列は、テーブルがWITHOUT ROWID
で定義されているかどうかを示します オプション。この例では、Customers
テーブルはWITHOUT ROWID
で定義されています 。
strict
列は、テーブルがSTRICT
で定義されているかどうかを示します オプション。このオプションは、 SQLiteバージョン3.37.0(table_list
と同じバージョン)で導入されました。 pragmaが導入されました)。 この例では、Customers
およびOrders
テーブルはSTRICT
で定義されています オプション。
特定のデータベース内のすべてのテーブルを取得する
特定のデータベース内のテーブルとビューのみを返すために、スキーマ名を含めることができます。
PRAGMA Store.table_list;
結果:
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
名前でテーブルを取得
すべてのデータベースでその名前のすべてのテーブル/ビューを返すために、テーブル/ビューの名前を指定できます。
PRAGMA table_list('Dogs');
結果:
schema name type ncol wr strict ------ ---- ----- ---- -- ------ Store Dogs table 3 0 0 Pets Dogs table 2 0 0
この場合、両方のStore
およびPets
スキーマには、Dogs
というテーブルがあります 。