티스토리 뷰
table 대신 view 쓰는 이유
간혹 create table 말고 create view 하는 경우가 있습니다.
테이블이랑 똑같은 view 라는 친구가 있는데 뭔지 알아봅시다.
짧아서 글만 읽고 지나갑시다.
view가 뭐냐면
SELECT 로 찾은 행들이 너무나 마음에 들어서
테이블로 두고두고 저장해서 쓰고 싶습니까?
그럼 실제 테이블로 저장해도 되겠지만 더 간단하게 view로 만들어둘 수도 있습니다.
view는 가상의 테이블입니다. 테이블처럼 사용할 수 있습니다.
CREATE VIEW 뷰이름 AS
SELECT 컬럼1, 컬럼2, ...
FROM 테이블명
view 만드는 문법은 이렇습니다.
SELECT로 찾은 행들을 view로 만들어달라는 코드입니다.
CREATE VIEW view1 AS
SELECT *
FROM 테이블명1 INNER JOIN 테이블2
ON sales.id = product.id
view는 테이블이랑 똑같아서 SELECT INSERT UPDATE DELETE 전부 가능합니다.
진짜인지 해봅시다.
view 쓰는 이유
1. 복잡하게 JOIN 해놓은 테이블들을 하나의 테이블 또는 view로 만들어두면 두고두고 재사용할 수 있어서 편리합니다.
2. 근데 view는 실제 테이블이 아니라서 테이블만큼 하드용량을 많이 차지하지 않습니다.
3. table에 컬럼변경이 필요할 때 view를 만들어서 먼저 실험해볼 수 있습니다.
4. view 안에서 또 SELECT 해서 view를 만들 수도 있습니다. 너무 많은 중첩은 금지
실은 열심해 JOIN해서 작성해놨던 SELECT 문을 쉽게 테이블형태로 재사용하고 싶을 때 view를 가장 많이 사용합니다.
그럴 때 사용하도록 합시다.
(참고)
view는 가상테이블이라고 했지만 실제로 테이블이 생성되는게 아니라
SELECT 문법을 테이블형태로 눈속임해주는 것일 뿐입니다.
'DB > MYSQL' 카테고리의 다른 글
MYSQL SET, DECLARE (변수, PROCEDURE내 변수) (1) | 2023.05.13 |
---|---|
MYSQL STORED PROCEDURE(함수형 프로시저) sql의 함수 (0) | 2023.05.13 |
테이블값에 테이블값 넣기(복사), 권한 (0) | 2023.05.13 |
MYSQL INNER, LEFT, RIGHT JOIN (0) | 2023.05.13 |
AUTO_INCREMENT (테이블생성시 자동 숫자증가) (0) | 2023.05.11 |