SQLite ビュー(View)
ビュー(View)は、関連する名前でデータベースに保存された SQLite ステートメントにすぎません。ビュー(View)は、実際には定義済みの SQLite クエリの形式で存在するテーブルの組み合わせです。
ビュー(View)は、1つのテーブルのすべての行、または1つ以上のテーブルから選択した行を含めることができます。ビュー(View)は、作成するビューの SQLite クエリに応じて、1つ以上のテーブルから作成できます。
ビュー(View)は仮想テーブルであり、ユーザーが以下の点を実現できるようにします:
ユーザーまたはユーザーグループが構造化データを検索する方法が、より自然または直感的になります。
データアクセスを制限し、ユーザーは完全なテーブルではなく限られたデータのみを表示できます。
さまざまなテーブルのデータを集約して、レポートを生成するために使用します。
SQLite ビューは読み取り専用であるため、ビューに対して DELETE、INSERT、または UPDATE ステートメントを実行できない場合があります。ただし、ビュー上にトリガーを作成でき、ビューに対して DELETE、INSERT、または UPDATE を試みたときにトリガーが発火し、実行する必要があるアクションはトリガーの内容で定義されます。
ビューの作成
SQLite のビューは、CREATE VIEWステートメントを使用して作成されます。SQLite ビューは、単一のテーブル、複数のテーブル、または他のビューから作成できます。
CREATE VIEW の基本構文は次のとおりです:
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
SELECT ステートメントに複数のテーブルを含めることができます。これは、通常の SQL SELECT クエリと非常によく似ています。オプションの TEMP または TEMPORARY キーワードを使用した場合、ビューは一時データベースに作成されます。
例
COMPANY テーブルに次のレコードがあるとします:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
次に、COMPANY テーブルからビューを作成する例を示します。このビューは、COMPANY テーブルからいくつかの列のみを選択します:
sqlite> CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
次に、実際のテーブルをクエリするのと同様に COMPANY_VIEW をクエリできます。以下は例です:
sqlite> SELECT * FROM COMPANY_VIEW;
これにより、次の結果が生成されます:
ID NAME AGE ---------- ---------- ---------- 1 Paul 32 2 Allen 25 3 Teddy 23 4 Mark 25 5 David 27 6 Kim 22 7 James 24
ビューの削除
ビューを削除するには、view_nameを付けた DROP VIEW ステートメントを使用します。DROP VIEW の基本構文は次のとおりです:
sqlite> DROP VIEW view_name;
次のコマンドは、前述で作成した COMPANY_VIEW ビューを削除します:
sqlite> DROP VIEW COMPANY_VIEW;その他の拡張機能