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

SQLite 뷰

뷰는 실제로 데이터베이스에 저장된 이름이 부여된 SQLite 문입니다. 이는 실제로는 예약된 SQLite 쿼리 형식의 테이블의 조합입니다.

뷰는 하나의 테이블의 모든 행이나 하나나 여러 테이블의 선택된 행을 포함할 수 있습니다. 뷰는 하나나 여러 테이블에서 생성될 수 있으며, SQLite 쿼리를 통해 뷰를 생성합니다.

가상 테이블로서의 뷰는 사용자가-

  • 사용자나 사용자 카테고리에 따라 자연스럽고 직관적으로 데이터를 구성합니다.

  • 데이터에 대한 접근을 제한하여 사용자가 전체 테이블 대신 제한된 데이터만 볼 수 있도록 합니다.

  • 다양한 테이블의 데이터를 요약하여 보고서를 생성할 수 있는 데이터를 생성합니다.

SQLite 뷰는 읽기 전용이므로 DELETE, INSERT 또는 UPDATE 문을 뷰에서 수행할 수 없을 수 있습니다. 그러나 뷰에서 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          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

뷰 제거

뷰를 제거하려면 DROP VIEW 문과 함께 사용하면 됩니다.view_name기본 DROP VIEW 문법은 다음과 같습니다.-

sqlite> DROP VIEW view_name;

이 명령어는 우리가 이전 장에서 생성한 COMPANY_VIEW 뷰를 제거합니다.

sqlite> DROP VIEW COMPANY_VIEW;