본문 바로가기
Programming/SQL

[MySQL] View 다루기 (Create, Replace, Drop)

by 코딩하는 금융인 2021. 12. 5.

안녕하세요.

오늘은 DB에서 가상 테이블을 사용할 때 자주 사용하는 View에 대해서 소개해드리겠습니다.

 

 

 View 정의 & 특징

▣ View 정의

- 데이터베이스(DB)에 존재하는 가상 테이블

- 실제 테이블처럼 행과 열을 가지고 있으나, 가상 테이블이므로 실제로 DB에 저장되는 테이블이 아님

- 데이터 보정작업, 처리과장 테스트 등 임시적인 작업을 위한 용도로 활용

- 조인문 사용 최소화로 사용자 편의성 확대

 

▣ View 장단점

장점 단점
논리적 데이터 독립성 제공 독립적인 인덱스 X
동일 데이터, 다수의 사용자 응용 지원 ALTER문 활용 불가 (변경 X)
데이터 관리 간단화 삽입, 삭제, 갱신 연산에 제한

 

 MySQL로 View 다루기

▣ Create, REPLACE View

-- 뷰 생성하기
CREATE VIEW [VIEW_NAME] AS SELECT문;

 

- 여러 테이블의 필요한 필드를 조회하는 뷰를 생성할 때 JOIN문이 아닌 다중 테이블에 대한 SELECT문 활용 가능함

-- 다중 테이블 활용 뷰 예시
CREATE VIEW [VIEW_NAME] AS SELECT A.[F1], B.[F2]
FROM [T1] AS A, [T2] AS B WHERE ETC..~

 

- 앞서 말했다시피 뷰는 한 번 생성하면 변경이 불가능하므로 새로운 뷰로 대체하여 바꿀 수 있음

--뷰 대체하기
CREATE VIEW OR REPLACE VIEW [VIEW NAME] AS SELECT문;

 

▣ Drop View

-- 뷰 삭제하기
DROP VIEW [VIEW_NAME] RESTRICT OR CASCADE;

- VIEW 삭제문은 뒤에 조건을 설정하여 실행할 수 있습니다.

더보기

RESTRICT: 뷰를 다른 곳에서 참조하고 있으면 삭제가 취소됨

CASCADE: 뷰를 참조하는 다른 뷰나 제약조건까지 모두 삭제됨

반응형

댓글