[ MySQL ] 뷰 ( View )

Wooju Kang ·2025년 5월 8일

[ RDMBS ] MySQL

목록 보기
9/9
post-thumbnail

GIF 출처 : https://logpresso.store/ko/apps/mysql

🖥 Contents


1 ) 뷰 ( View ) 란?

2 ) 뷰의 특징

3 ) 뷰 활용하기




1 ) 뷰 ( View ) 란?


  • 뷰 ( View ) 란?
    : 뷰 ( View ) 란 테이블을 직접 저장하지 않고 , 하나 이상의 테이블에서 유도된 가상의 테이블을 의미한다. 이를 통해 데이터를 직접 소유하지 않고 테이블의 형태만 차용하여 테이블처럼 사용할 수 있게 해준다.

    테이블 하나로 뷰를 생성할 경우 단일 뷰 , 다수의 테이블로 뷰를 구성할 경우 복합 뷰라고 한다.




2 ) 뷰의 특징


다음은 뷰의 장&단점을 보여준다.

장점

  • 복잡한 쿼리를 단축하여 사용자가 편리하게 사용할 수 있도록한다.
  • 테이블과 열 이름 등을 숨길 수 있으며 , 권한에 따라 필요한 열만 구성해 사용할 수 있다.
  • 뷰에서 사용 중인 테이블을 아무런 제약 없이 삭제할 수 있다.

단점

  • 한번 정의한 뷰는 변경할 수 없다.
  • 삽입,삭제,갱신 작업을 하는데 제한 사항이 다수 존재한다.
  • 뷰 테이블은 인덱스를 가질 수 없다.

기본 형식

: 뷰는 다음과 같은 기본 형식으로 구성되어있다.

CREATE VIEW [ 뷰 이름 ] 
AS
   < SELECT> 

ex )

CREATE VIEW view_woojuice
AS 
   SELECT user_nickname , user_age FROM User;
   
SELECT * FROM view_woojuice;



3 ) 뷰 활용하기



뷰 생성


CREATE VIEW view_woojuice
AS 
   SELECT user_nickname , user_password FROM user;
   
SELECT * FROM view_woojuice;

2개의 테이블을 조인해 원하는 데이터를 보여주는 뷰 또한 생성이 가능하다.

뿐만 아니라 일반 테이블과 뷰 테이블을 조인하여 쿼리를 실행할 수도 있다. 다음은 일반 테이블과 뷰 테이블을 INNER JOIN 키워드를 통해 조회한 결과이다.




뷰 수정


: 뷰는 일반 테이블과 마찬가지로 ALTER 키워드를 통해 내부 구조를 수정할 수 있다.

< 기본 형식 >

ALTER VIEW [ 뷰 이름 ] 
AS 
   < SQL> 

ex )

ALTER VIEW userWithRefresh
AS 
   SELECT user_create_date , user_level 
   FROM user;
   
SELECT * FROM userWithRefresh;
   

이때 , 뷰 테이블과 원본 테이블의 컬럼 조건이 일치하지 않을 경우 열 불일치로 인해 오류가 발생할 수 있다. 따라서 이러한 이유로 데이터를 입력 , 삭제 , 수정하는 작업은 가급적 뷰 보다는 원본 테이블에서 직접 수행하는 것을 권장하고 있다.




뷰 삭제


: 뷰는 일반 테이블과 마찬가지로 DROP 키워드를 통해서 삭제할 수 있다.

< 기본 형식 >

DROP VIEW [ 뷰 이름 ] 

ex )

DROP VIEW userWithRefresh;


profile
배겐드 📡

0개의 댓글