상세 컨텐츠

본문 제목

[MySQL] view(뷰) 생성, 수정, 삭제, 조회

MySQL

by 주초위왕 2023. 3. 21. 23:44

본문

뷰(View)
데이터베이스에 존재하는 일종의 가상 테이블을 의미.
이러한 뷰를 이용하여 실제 테이블처럼 행과 열을 가지고 있지만, 실제로 데이터를 저장하고 있지는 않는다.
진짜 테이블에 링크된 개념이라고 생각하면 된다.
즉, 우리가 여러 테이블을 번거롭게 들러서 확인을 해야 할 때 혹은 SELECT 문을 겹겹이 사용해서 어려운 쿼리문으로 조회를 수행해야 할 때 이러한 번거로움을 줄여주는 것이 바로 뷰(View) 입니다
 
장점
1. 특정 사용자에게 필요한 필드만 보여주기 가능(전체 말고)
2. 복잡한 쿼리를 단순화해서 사용가능.
3. 위와 같이 사용한 쿼리를 재사용할 수 있음
 
단점
1. 한 번 정의된 뷰는 변경이 불가능.
2. 삽입, 삭제, 갱신 작업에 많은 제한 사항을 가짐
3. 뷰는 자신만의 인덱스를 가질 수 없음
 


먼저 만들어 놓은 테이블을 이용 해서 단일 테이블의 필요한 필드만 조회해보기

#만들어 놓은 테이블
create table test2(
    userid varchar(20) not null,
    name varchar(20) not null,
    gender enum('남자', '여자'),
    point int default 0
);

# VIEW 생성 명령어
# 단일 테이블의 필요한 필드만 조회하는 뷰 생성 명령어
CREATE VIEW 뷰이름 AS SELECT 필드이름1, 필드이름2, ... FROM 테이블이름 WHERE 조건;

#대입해서 가져오기
CREATE VIEW view_name AS
SELECT  userid, gender
FROM test2;
select * from view_name;
# 여러 테이블의 필요한 필드를 조회하는 뷰 생성 명령어
CREATE VIEW 뷰이름 AS SELECT A.필드이름1, B.필드이름1, ... FROM 테이블이름 AS A, 테이블이름 AS B WHERE 조건;
# 수정
ALTER VIEW 뷰이름 AS
SELECT 필드이름1, 필드이름2, ...
FROM 테이블이름

ALTER VIEW view_name AS
SELECT name, userid
FROM test2;
# name, userid로 변경해서 보여주기

 

# 삭제
DROP VIEW 뷰이름

DROP VIEW view_name;

뷰 삭제가 되고, 조회를 해보면 존재하지 않는다고 나옴.

 
다시 뷰를 생성하고, 조회하기

# 조회
select * from view_name;

 

반응형

관련글 더보기

댓글 영역