English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite 视图

ビューは、データベースに格納された関連する名前を持つSQLite文です。実際には、既定のSQLiteクエリ形式のテーブルの組み合わせです。

ビューは、テーブルのすべての行またはテーブルの一部の行を含むことができます。ビューは、作成されたSQLiteクエリに基づいて1つのテーブル、複数のテーブル、または別のビューから作成できます。

仮想テーブルとしてのビューはユーザーに-

  • ユーザーやユーザーカテゴリの自然で直感的な方法でデータを構築します。

  • データへのアクセスを制限し、ユーザーが完全なテーブルではなく限られたデータのみを見ることができます。

  • さまざまなテーブルのデータを統合し、これらのデータはレポートの生成に使用できます。

SQLiteビューは読み取り専用であり、したがって、ビュー上でDELETE、INSERT、またはUPDATE文を実行することができません。しかし、ビュー上でトリガーを作成し、ビューを削除、挿入、または更新しようとするとトリガーがトリガー主体で必要な操作を実行します。

ビューを作成します

を使用してCREATE VIEWこのステートメントはSQLiteビューを作成します。テーブルから、複数のテーブル、または別のビューからSQLiteビューを作成できます。

以下は基本的なCREATE VIEW文法です。

CREATE [TEMP | TEMPORARY] VIEW view_name ASSELECT column1, column2.....FROM table_nameWHERE [condition];

SELECTクエリで複数のテーブルを含めることができます。複数のテーブルを使用する場合、選択可能なTEMPまたはTEMPORARYキーワードが存在する場合、テンポラリーデータベースにビューが作成されます。

以下のレコードを持つCOMPANYテーブル-

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          カリフォルニア  20000.0
2           Allen       25          テキサス       15000.0
3           Teddy       23          ノルウェー      20000.0
4           Mark        25          リッチ-モンド   65000.0
5           David       27          テキサス       85000.0
6           Kim         22          サウス-ホール  45000.0
7           James       24          ヒューストン     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

删除视图

要删除视图,只需将DROP VIEW语句与一起使用view_name。基本的DROP VIEW语法如下-

sqlite> DROP VIEW view_name;

以下命令将删除我们在上一节中创建的COMPANY_VIEW视图。

sqlite> DROP VIEW COMPANY_VIEW;