sql >> データベース >  >> RDS >> SQLite

SQLiteデータベースのビューを一覧表示する4つの方法

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


    1. シーケンスからIDを生成するためのOracleTriggerのHIbernateの問題

    2. 別のPostgreSQLCommitfestの管理

    3. T-SQLを使用してSQLServerで計算列を作成する

    4. 特定の列が更新された場合にのみトリガーを実行する(SQL Server)