본문 바로가기

DB,데이터베이스

[영남이공대학교 사이버보안과] MySQL의 뷰(VIEW)


VIEW

출력한 결과를 가상 테이블에 저장한 것, MySQL 5.0 버젼 이상에서 지원

뷰는 링커와 비슷한 역할이라서 뷰의 값을 변경하면 연결된 테이블 데이터도 변경된다.


VIEW CREATE

조건문에는 WHERE 이외에 다른 문도 가능하다.

CREATE VIEW 'name' AS SELECT 'column' FROM 'table' WHERE ...


- UNION, JOIN 그리고 하위질의를 사용하는 VIEW에서는 INSERT 와 UPDATE가 불가능하다.

- 테이블에 값을 입력했는데 VIEW의 조건에 맞지않으면 뷰 테이블에는 값이 입력되지 않는다.

- 조건에 맞지 않으면 테이블에 데이터 입력되지 않으려면 VIEW CREATE를 할때 맨 끝에 "WITH CHECK OPTION"을 추가하면 된다.


VIEW PASTE

이미 있는 뷰 테이블에 값을 다시 값을 넣고 싶을때 사용하는 방법이다.

기존에 있던 뷰 는 삭제되고 새로운 뷰가 대체(REPLACE)한다.

CREATE OR REPLACE VIEW 'name' AS SELECT ...


VIEW ALTER

뷰 테이블의 구조를 변경

ALTER VIEW 'name' AS SELECT 'column' FROM 'table'


VIEW DROP

DROP VIEW 'name'

or

존재하지 않는 뷰를 삭제할 경우 뜨는 에러를 없애려면 아래 처럼 쓰면된다.

DROP VIEW IF EXISTS 'name'