MariaDB / Tutorial / VIEW
목차
VIEW
VIEW는 가상의 테이블입니다. 실제로 데이터를 저장하지 않고, 기존의 하나 이상의 테이블을 기반으로 한 쿼리 결과를 테이블처럼 사용할 수 있게 해줍니다. 뷰는 복잡한 쿼리를 단순화하고, 보안 및 데이터 관리에 유용하게 사용됩니다.
예제 데이터베이스
예제로 사용한 데이터베이스는 employees입니다.
VIEW 만들기
CREATE VIEW
- 예를 들어 남자인 직원의 first_name과 last_name을 VIEW로 만든다고 하면, 우선 VIEW로 만들 데이터를 추출하는 쿼리를 만듭니다.
SELECT first_name, last_name FROM employees WHERE gender = 'M' ;
- CREATE VIEW로 VIEW를 만듭니다. v_employees_male는 VIEW의 이름으로, 적절히 정합니다.
CREATE VIEW v_employees_male AS SELECT first_name, last_name FROM employees WHERE gender = 'M' ;
CREATE OR REPLACE VIEW
- CREATE VIEW로 VIEW를 만들면, 기존에 같은 이름의 VIEW가 있으면 VIEW가 생성되지 않습니다. CREATE VIEW 대신 CREATE OR REPLACE VIEW를 사용하면, 같은 이름의 VIEW가 있을 때 기존 VIEW를 대체합니다.
CREATE OR REPLACE VIEW v_employees_male AS SELECT first_name, last_name FROM employees WHERE gender = 'M' ;
CREATE VIEW IF NOT EXISTS
- CREATE VIEW 대신 CREATE VIEW IF NOT EXISTS를 사용하면, 같은 이름의 VIEW가 없을 때만 VIEW를 만든다.
CREATE VIEW IF NOT EXISTS v_employees_male AS SELECT first_name, last_name FROM employees WHERE gender = 'M' ;
VIEW 수정하기
- VIEW 수정은 ALTER VIEW로 합니다. CREATE 자리에 ALTER가 있다고 보면 됩니다. 수정하는 것이므로, 기존에 정의된 VIEW가 있어야 합니다.
- 아래는 위에서 만든 VIEW에 gender를 추가한 것입니다.
ALTER VIEW v_employees_male AS SELECT first_name, last_name, gender FROM employees WHERE gender = 'M' ;
VIEW 삭제하기
- DROP VIEW로 VIEW를 삭제합니다. 예를 들어 VIEW의 이름이 v_employees_male이라면 다음과 같이 합니다.
DROP VIEW v_employees_male;