데이터베이스를 운영하다 보면 이미 생성된 테이블에 새로운 열(column)을 추가해야 하는 경우가 자주 발생합니다. MySQL에서는 ALTER 명령어를 사용하면 테이블의 데이터를 삭제하거나 재생성하지 않고도 간단하게 열을 추가할 수 있습니다.
기본 문법(Syntax)
ALTER TABLE 문에 ADD 절을 사용하여 새로운 열과 해당 데이터 타입을 지정합니다.
ALTER TABLE 테이블명 ADD (열이름 데이터타입);
사용 예제
아래 예제는 'Student'(학생) 테이블에 문자열 타입의 'GRADE'(성적) 열을 추가하는 과정입니다.
mysql> ALTER TABLE Student ADD (Grade VARCHAR(10)); Query OK, 5 rows affected (1.05 sec) Records: 5 Duplicates: 0 Warnings: 0
쿼리 실행 결과를 살펴보면 다음과 같은 의미를 담고 있습니다.
- Query OK: 쿼리가 성공적으로 실행되었음을 의미합니다.
- 5 rows affected: 테이블에 존재하는 5개 행 모두가 새로운 열 구조에 맞게 업데이트되었습니다.
- Duplicates: 0 / Warnings: 0: 중복 오류나 경고 없이 정상 처리되었습니다.
추가 팁: 특정 위치에 열 삽입하기
기본적으로 새로 추가된 열은 테이블의 마지막 위치에 배치됩니다. 만약 원하는 위치에 열을 삽입하고 싶다면 AFTER 키워드를 활용할 수 있습니다.
mysql> ALTER TABLE Student ADD (Grade VARCHAR(10)) AFTER Name;
위 예제처럼 작성하면 'GRADE' 열이 'Name' 열 바로 뒤에 추가됩니다. 또한 테이블의 첫 번째 위치에 열을 넣고 싶다면 FIRST 키워드를 사용하면 됩니다.
정리
ALTER TABLE ... ADD 구문은 기존 데이터를 유지한 채 테이블 구조를 확장할 수 있는 가장 기본적이면서도 강력한 방법입니다. 열 추가 시에는 데이터 타입과 크기를 신중하게 설계하고, 대용량 테이블의 경우 서비스 트래픽이 적은 시간대에 작업을 수행하는 것이 좋습니다.