MySQL에서 ALTER VIEW 문을 사용하면 기존 뷰(View)를 삭제할 필요 없이 그 정의를 손쉽게 수정할 수 있습니다. 뷰를 DROP한 후 다시 생성하는 번거로운 과정을 거치지 않고도 SELECT 쿼리 구조를 변경할 수 있다는 점이 큰 장점입니다.
ALTER VIEW 기본 문법
ALTER VIEW view_name AS SELECT column1, column2… FROM table WHERE conditions;
기존 뷰 이름 뒤에 새로운 SELECT 문을 지정하기만 하면 됩니다. WHERE 조건문 역시 필요에 따라 자유롭게 추가하거나 변경할 수 있습니다.
실습 예제
설명을 위해 'Info'라는 이름의 뷰를 예로 들어 보겠습니다. 현재 이 뷰는 다음과 같은 데이터를 포함하고 있습니다.
mysql> Select * from Info; +------+---------+------------+ | Id | Name | Subject | +------+---------+------------+ | 101 | YashPal | History | | 105 | Gaurav | Literature | | 125 | Raman | Computers | | 130 | Ram | Computers | +------+---------+------------+ 4 rows in set (0.01 sec)
뷰에 새로운 컬럼 추가하기
이제 이 뷰에 ADDRESS 컬럼을 하나 더 추가하고 싶다고 가정해 보겠습니다. ALTER VIEW 문을 사용하면 다음과 같이 간단히 처리할 수 있습니다.
mysql> Alter view info AS SELECT ID, NAME, SUBJECT, ADDRESS from student_info; Query OK, 0 rows affected (0.07 sec) mysql> Select * from info; +------+---------+------------+------------+ | ID | NAME | SUBJECT | ADDRESS | +------+---------+------------+------------+ | 101 | YashPal | History | Amritsar | | 105 | Gaurav | Literature | Chandigarh | | 125 | Raman | Computers | Shimla | | 130 | Ram | Computers | Jhansi | +------+---------+------------+------------+ 4 rows in set (0.00 sec)
위 결과 집합을 보면 ADDRESS 컬럼이 'Info' 뷰에 성공적으로 추가된 것을 확인할 수 있습니다. 이처럼 ALTER VIEW 문을 활용하면 원본 테이블이나 뷰 자체를 삭제·재생성하지 않고도 뷰의 구조를 유연하게 변경할 수 있습니다.