MySQL에서 뷰(View)를 수정하는 방법은 여러 가지가 있습니다. 일반적으로 ALTER VIEW 문을 많이 사용하지만, CREATE OR REPLACE VIEW 문을 활용해서도 기존 뷰를 수정할 수 있습니다. 이 방식의 개념은 매우 간단합니다. 해당 뷰가 이미 존재하면 MySQL은 기존 뷰를 새로운 정의로 수정하고, 존재하지 않으면 새로운 뷰를 생성합니다.
기본 문법
CREATE OR REPLACE VIEW view_name AS Select_statements FROM table;
사용 예시
mysql> Create OR Replace VIEW Info AS Select Id, Name, Address, Subject from student_info WHERE Subject = 'Computers';
Query OK, 0 rows affected (0.46 sec)
위 쿼리는 'Info'라는 이름의 뷰를 생성하거나 교체합니다. 만약 'Info' 뷰가 데이터베이스에 이미 존재한다면, 위 쿼리에서 정의한 새로운 내용으로 대체됩니다. 반대로 존재하지 않는다면 해당 정의에 따라 새로운 뷰가 생성됩니다.
ALTER VIEW와의 차이점
ALTER VIEW 문은 수정하려는 뷰가 존재하지 않을 경우 오류가 발생하지만, CREATE OR REPLACE VIEW 문은 뷰의 존재 여부를 미리 확인할 필요가 없어 더욱 편리하게 사용할 수 있습니다. 따라서 뷰의 존재 여부가 불확실한 상황에서는 CREATE OR REPLACE VIEW를 사용하는 것이 안전하고 효율적인 선택입니다.