MySQL에서 기존 테이블의 열(컬럼)을 수정해야 할 때는 ALTER TABLE 명령어와 MODIFY 키워드를 함께 사용하면 됩니다. 이 조합을 활용하면 컬럼의 데이터 타입이나 크기를 손쉽게 변경할 수 있습니다.
기본 문법
ALTER TABLE table_name MODIFY column_name1 datatype, MODIFY column_name2 datatype, ... MODIFY column_nameN datatype;
여러 개의 컬럼을 한 번에 수정하고 싶다면, 위 문법처럼 MODIFY 절을 쉼표(,)로 구분하여 연속으로 나열하면 됩니다.
실제 사용 예시
아래 예시는 student 테이블에서 Address 컬럼과 Grade 컬럼의 크기를 각각 변경하는 과정입니다. ALTER 명령어에 MODIFY 키워드를 사용하여 Address는 varchar(45)로, Grade는 varchar(15)로 수정되었습니다.
mysql> ALTER TABLE student
-> MODIFY address VARCHAR(45),
-> MODIFY grade VARCHAR(15);
Query OK, 5 rows affected (0.38 sec)
Records: 5 Duplicates: 0 Warnings: 0실행 결과 확인
명령어가 정상적으로 실행되면 Query OK 메시지와 함께 변경된 행 수가 출력됩니다. 이후 DESC student; 또는 SHOW COLUMNS FROM student; 명령어로 컬럼 구조가 의도한 대로 변경되었는지 확인할 수 있습니다.
주의 사항
- 컬럼 크기를 줄일 경우 기존 데이터가 잘리거나 오류가 발생할 수 있으므로, 현재 저장된 데이터의 최대 길이를 먼저 확인하는 것이 좋습니다.
- 데이터 타입을 변경할 때는 호환성을 고려해야 하며, 중요한 운영 환경이라면 변경 전 반드시 데이터 백업을 권장합니다.
- MySQL 8.0 이상에서는 대부분의 ALTER 작업이 온라인 DDL로 처리되지만, 테이블 크기가 클 경우 작업 시간이 오래 걸릴 수 있습니다.
이처럼 ALTER TABLE과 MODIFY 키워드만 알고 있으면 별도의 도구 없이 SQL문 하나로 MySQL 테이블의 컬럼 구조를 자유롭게 관리할 수 있습니다.