SQLite-보기

뷰는 연결된 이름으로 데이터베이스에 저장되는 SQLite 문에 불과합니다. 실제로 미리 정의 된 SQLite 쿼리 형식의 테이블 구성입니다.

뷰에는 테이블의 모든 행 또는 하나 이상의 테이블에서 선택한 행이 포함될 수 있습니다. 뷰를 생성하기 위해 작성된 SQLite 쿼리에 의존하는 하나 이상의 테이블에서 뷰를 생성 할 수 있습니다.

가상 테이블의 종류 인 뷰는 사용자가-

  • 사용자 또는 사용자 클래스가 자연 스럽거나 직관적 인 방식으로 데이터를 구조화합니다.

  • 사용자가 전체 테이블 대신 제한된 데이터 만 볼 수 있도록 데이터에 대한 액세스를 제한합니다.

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

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];

일반 SQL SELECT 쿼리에서 사용하는 것과 유사한 방식으로 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;