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を参照してください。