Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 뷰(View) 생성 방법 완벽 가이드

뷰(View)는 데이터베이스에 저장된 SELECT 쿼리의 결과를 마치 실제 테이블처럼 다룰 수 있게 해주는 가상 테이블입니다. 복잡한 쿼리를 단순화하거나 특정 사용자에게 필요한 데이터만 노출하고 싶을 때 유용하게 활용됩니다.

MySQL 뷰 생성 기본 문법

MySQL에서 뷰를 생성하려면 CREATE VIEW 문을 사용합니다. 기본 문법은 다음과 같습니다.

CREATE VIEW yourViewName AS
SELECT * FROM yourTableName;

실습 예제로 배우는 뷰 생성

1단계: 테이블 생성하기

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable1802
    (
    StudentId int,
    StudentName varchar(20)
    );
Query OK, 0 rows affected (0.00 sec)

2단계: 데이터 삽입하기

INSERT 명령을 사용하여 테이블에 샘플 레코드를 추가합니다.

mysql> insert into DemoTable1802 values(101,'John');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1802 values(102,'Carol');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1802 values(103,'Sam');
Query OK, 1 row affected (0.00 sec)

3단계: 테이블 데이터 확인하기

SELECT 문으로 테이블의 전체 레코드를 조회해 보겠습니다.

mysql> select * from DemoTable1802;

실행 결과는 다음과 같습니다.

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         101 | John        |
|         102 | Carol       |
|         103 | Sam         |
+-----------+-------------+
3 rows in set (0.00 sec)

4단계: 뷰 생성하기

이제 위 테이블을 기반으로 뷰를 생성하는 쿼리를 실행합니다.

mysql> create view view_DemoTable1802 as select * from DemoTable1802;
Query OK, 0 rows affected (0.00 sec)

5단계: 뷰 데이터 조회하기

생성된 뷰도 일반 테이블과 동일하게 SELECT 문으로 조회할 수 있습니다.

mysql> select * from view_DemoTable1802;

실행 결과는 원본 테이블과 동일하게 출력됩니다.

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         101 | John        |
|         102 | Carol       |
|         103 | Sam         |
+-----------+-------------+
3 rows in set (0.00 sec)

뷰 사용 시 참고 사항

  • 뷰는 실제 데이터를 저장하지 않고 원본 테이블의 데이터를 참조하므로, 원본 데이터가 변경되면 뷰의 결과도 함께 변경됩니다.
  • 기존 뷰를 수정하려면 CREATE OR REPLACE VIEW 문을 사용할 수 있습니다.
  • 더 이상 필요하지 않은 뷰는 DROP VIEW 뷰이름;으로 삭제할 수 있습니다.

이처럼 CREATE VIEW 문을 활용하면 자주 사용하는 쿼리를 뷰로 정의하여 코드의 재사용성과 가독성을 크게 높일 수 있습니다.