SQLite-ビュー
ビューは、関連付けられた名前でデータベースに保存されるSQLiteステートメントにすぎません。これは実際には、事前定義されたSQLiteクエリの形式のテーブルの構成です。
ビューには、テーブルのすべての行、または1つ以上のテーブルから選択した行を含めることができます。ビューは、記述されたSQLiteクエリに依存してビューを作成する1つまたは複数のテーブルから作成できます。
仮想テーブルの一種であるビューにより、ユーザーは次のことができます。
ユーザーまたはユーザーのクラスが自然または直感的に感じる方法でデータを構造化します。
データへのアクセスを制限して、ユーザーが完全なテーブルではなく限られたデータのみを表示できるようにします。
レポートの生成に使用できるさまざまなテーブルのデータを要約します。
SQLiteビューは読み取り専用であるため、ビューに対してDELETE、INSERT、またはUPDATEステートメントを実行できない場合があります。ただし、ビューをDELETE、INSERT、またはUPDATEしようとすると起動するトリガーをビューに作成し、トリガーの本体で必要なことを実行できます。
ビューの作成
SQLiteビューは、 CREATE VIEWステートメント。SQLiteビューは、単一のテーブル、複数のテーブル、または別のビューから作成できます。
以下は、基本的なCREATEVIEW構文です。
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
通常のSQLSELECTクエリで使用するのと同様の方法で、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
ビューの削除
ビューを削除するには、DROPVIEWステートメントを view_name。基本的なDROPVIEW構文は次のとおりです-
sqlite> DROP VIEW view_name;
次のコマンドは、前のセクションで作成したCOMPANY_VIEWビューを削除します。
sqlite> DROP VIEW COMPANY_VIEW;