MySQL에서 기존 테이블의 원하는 위치에 새로운 열을 추가하려면 ALTER TABLE 문과 함께 AFTER 절을 사용하면 됩니다. 이 방법을 사용하면 컬럼 순서를 직접 지정할 수 있어 테이블 구조를 더 깔끔하게 관리할 수 있습니다.
기본 문법
ALTER TABLE yourTableName ADD COLUMN yourColumnName data type AFTER yourExistingColumnName;
예제 테이블 생성하기
먼저 예제에 사용할 테이블을 만들어 보겠습니다. 아래 쿼리는 세 개의 컬럼을 가진 테이블을 생성합니다.
mysql> create table changeColumnPosition -> ( -> Id_Position1 int, -> Name_Position2 varchar(100), -> Address_Position4 varchar(200) -> ); Query OK, 0 rows affected (0.53 sec)
테이블 구조 확인하기
테이블이 정상적으로 생성되었는지 확인하려면 DESC 명령어를 사용합니다.
desc yourTableName;
생성한 테이블의 구조를 확인해 보겠습니다.
mysql> desc changeColumnPosition;
실행 결과는 다음과 같습니다.
+-------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+--------------+------+-----+---------+-------+ | Id_Position1 | int(11) | YES | | NULL | | | Name_Position2 | varchar(100) | YES | | NULL | | | Address_Position4 | varchar(200) | YES | | NULL | | +-------------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
현재 테이블에는 세 개의 컬럼이 있습니다. 여기서 Name_Position2 컬럼 바로 뒤에 새로운 컬럼을 추가해 보겠습니다.
AFTER 절로 특정 위치에 컬럼 추가하기
아래와 같이 AFTER 절 뒤에 기준이 될 기존 컬럼명을 지정하면, 해당 컬럼 다음 위치에 새 컬럼이 삽입됩니다.
mysql> alter table changeColumnPosition -> add Age_Position3 int after Name_Position2; Query OK, 0 rows affected (1.34 sec) Records: 0 Duplicates: 0 Warnings: 0
Age_Position3 컬럼이 성공적으로 추가되었습니다. 변경 사항이 제대로 적용되었는지 다시 한번 테이블 구조를 확인해 보겠습니다.
mysql> desc changeColumnPosition;
실행 결과는 다음과 같습니다.
+-------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+--------------+------+-----+---------+-------+ | Id_Position1 | int(11) | YES | | NULL | | | Name_Position2 | varchar(100) | YES | | NULL | | | Age_Position3 | int(11) | YES | | NULL | | | Address_Position4 | varchar(200) | YES | | NULL | | +-------------------+--------------+------+-----+---------+-------+ 4 rows in set (0.01 sec)
출력 결과를 보면 Age_Position3 컬럼이 Name_Position2 바로 뒤, 그리고 Address_Position4 앞에 정확히 삽입된 것을 확인할 수 있습니다.
참고 사항
만약 새 컬럼을 테이블의 맨 첫 번째 위치에 추가하고 싶다면 AFTER 대신 FIRST 키워드를 사용하면 됩니다. 또한 AFTER 절을 생략하면 새 컬럼은 항상 테이블의 마지막 위치에 추가됩니다.