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

MySQL에서 뷰가 존재하지 않을 때만 생성하는 방법 – CREATE OR REPLACE VIEW 완벽 가이드

MySQL에서 뷰(View)가 존재하지 않을 때만 생성하는 방법

MySQL에서 뷰가 아직 존재하지 않는 경우에만 새로운 뷰를 생성하려면 CREATE OR REPLACE VIEW 구문을 사용할 수 있습니다. 이 구문은 뷰가 이미 존재하면 기존 뷰를 대체(교체)하고, 존재하지 않으면 새로 생성하기 때문에 별도의 조건 검사 없이도 안전하게 뷰를 만들 수 있다는 장점이 있습니다.

CREATE OR REPLACE VIEW yourViewName AS SELECT * FROM yourTableName;

위 구문을 실제로 이해하기 위해 예제 테이블을 하나 만들어 보겠습니다.

1단계: 테이블 생성

다음 쿼리로 테이블을 생성합니다.

mysql> create table createViewDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20)
-> );
Query OK, 0 rows affected (0.58 sec)

2단계: 데이터 삽입

INSERT 명령어를 사용하여 테이블에 몇 개의 레코드를 삽입합니다.

mysql> insert into createViewDemo(Name) values('John');
Query OK, 1 row affected (0.22 sec)
mysql> insert into createViewDemo(Name) values('Carol');
Query OK, 1 row affected (0.15 sec)
mysql> insert into createViewDemo(Name) values('Bob');
Query OK, 1 row affected (0.15 sec)
mysql> insert into createViewDemo(Name) values('Sam');
Query OK, 1 row affected (0.14 sec)

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

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from createViewDemo;

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

+----+-------+
| Id | Name |
+----+-------+
| 1 | John |
| 2 | Carol |
| 3 | Bob |
| 4 | Sam |
+----+-------+
4 rows in set (0.00 sec)

4단계: 뷰 생성

이제 뷰가 존재하지 않을 경우에만 뷰를 생성하는 쿼리입니다.

mysql> CREATE OR REPLACE VIEW New_ViewDemo AS select *from createViewDemo;
Query OK, 0 rows affected (0.13 sec)

5단계: 뷰 데이터 확인

생성된 뷰의 레코드를 확인해 보겠습니다.

mysql> select *from New_ViewDemo;

출력 결과는 다음과 같습니다.

+----+-------+
| Id | Name |
+----+-------+
| 1 | John |
| 2 | Carol |
| 3 | Bob |
| 4 | Sam |
+----+-------+
4 rows in set (0.02 sec)

이처럼 CREATE OR REPLACE VIEW를 활용하면 뷰의 존재 여부를 미리 확인하는 추가 작업 없이도 뷰를 손쉽게 생성하거나 최신 상태로 업데이트할 수 있습니다. 반복적인 스크립트 실행 환경에서 특히 유용하게 사용되는 구문이니 꼭 기억해 두시기 바랍니다.