SQLiteデータベース内のすべてのビューを表示するための4つのオプションがあります。
sqlite_schema
表
すべてのSQLiteデータベースには、単一のsqlite_schema
が含まれています そのデータベースのスキーマを格納するテーブル。データベースのスキーマは、データベース内に含まれている他のすべてのテーブル、インデックス、トリガー、およびビューの記述です。
このテーブルをクエリして、ビューのみを返すことができます:
SELECT name
FROM sqlite_schema
WHERE type = 'view';
結果の例:
name -------- v1 vArtists vAlbums vGenres
私の場合、データベースには4つのビューがあります。
sqlite_master
表
歴史的な互換性のために、sqlite_schema
テーブルはsqlite_master
とも呼ばれます 。
したがって、前の例を次のように変更できます。
SELECT name
FROM sqlite_master
WHERE type = 'view';
結果の例:
name -------- v1 vArtists vAlbums vGenres
.tables
コマンド
.tables
を使用することもできます ビューを返すコマンド。
.table
コマンドはsqlite_schema
を照会します (プライマリデータベースだけでなく)接続されているすべてのデータベースのテーブル。
このコマンドはテーブルとビューの両方を返すため、前のメソッドほど有用ではない可能性があります。ただし、ビューに一貫した命名規則がある場合は、データベース内のビューのリストをすばやく簡単に取得できる可能性があります。
例:
.tables
結果の例:
Albums Customers OrderItems Products v1 vArtists Artists Genres Orders Vendors vAlbums vGenres
私の場合、すべてのビューの前にv
が付いています 、およびこれにより、ビューとテーブルを簡単に判別できます。
.table
にパターンを追加することで、テーブル/ビュー名で絞り込むこともできます。 指図。これは、ビューをテーブルから分離する明確で明確な命名規則がある場合に便利です。
例:
.tables 'v%'
結果:
Vendors v1 vAlbums vArtists vGenres
この場合、私の命名規則は役に立ちましたが、すべてのテーブル(Vendors
)を除外するわけではありませんでした テーブルです)。いずれにせよ、それでも結果が絞り込まれ、すべてのビューを一目で簡単に確認できるようになりました。
table_list
プラグマステートメント
これがSQLiteへの最近の追加です。 table_list
プラグマステートメントは、SQLite 3.37.0(2021-11-27でリリース)で導入されました。このプラグマステートメントは、テーブルとビューを一覧表示します。
例:
PRAGMA table_list;
結果:
schema name type ncol wr strict --------- ------------------------------ ----- ---- -- ------ main sqlite_schema table 5 0 0 temp sqlite_temp_schema table 5 0 0 Northwind Sales by Category view 4 0 0 Northwind Sales Totals by Amount view 4 0 0 Northwind Products by Category view 5 0 0 Northwind Summary of Sales by Quarter view 3 0 0 Northwind Product Sales for 1997 view 3 0 0 Northwind Order Subtotals view 2 0 0 Northwind Invoices view 26 0 0 Northwind Quarterly Orders view 4 0 0 Northwind Customer and Suppliers by City view 4 0 0 Northwind Alphabetical list of products view 11 0 0 Northwind Order Details Extended view 7 0 0 Northwind Category Sales for 1997 view 2 0 0 Northwind Products Above Average Price view 2 0 0 Northwind Orders Qry view 20 0 0 Northwind Suppliers table 12 0 0 Northwind Summary of Sales by Year view 3 0 0 Northwind Regions table 2 0 0 Northwind Orders table 14 0 0 Northwind sqlite_schema table 5 0 0 Northwind Categories table 4 0 0 Northwind sqlite_sequence table 2 0 0 Northwind Products table 10 0 0 Northwind CustomerDemographics table 2 0 0 Northwind CustomerCustomerDemo table 2 0 0 Northwind Customers table 11 0 0 Northwind Employees table 18 0 0 Northwind Current Product List view 2 0 0 Northwind Territories table 3 0 0 Northwind EmployeeTerritories table 2 0 0 Northwind Shippers table 3 0 0 Northwind Order Details table 5 0 0
type
を見ると、どのビューがビューであるかがわかります。 列。
特定のスキーマに絞り込むことができ、テーブル/ビュー名で検索できます。 PRAGMA
を参照してください このオプションの概要と例については、SQLiteのtable_listを参照してください。