테이블을 운영하다 보면, 컬럼의 순서를 바꾸거나 이름을 변경하고, 새로운 컬럼을 추가하거나 삭제해야 하는 상황이 자주 생깁니다.
이번 글에서는 ALTER TABLE 문을 이용해 컬럼을 자유롭게 다루는 방법을 정리해보겠습니다.
컬럼을 가장 앞으로 옮기기 (FIRST)
보통 Primary Key 컬럼은 테이블의 가장 앞에 두는 것이 관례입니다.
만약 뒤쪽에 있다면, FIRST 키워드를 이용해 앞으로 당길 수 있습니다.
ALTER TABLE player_info
MODIFY id INT FIRST;
id 컬럼이 테이블의 첫 번째 위치로 이동합니다.
컬럼 간 순서 바꾸기 (AFTER)
특정 컬럼을 다른 컬럼 뒤로 옮기고 싶다면 AFTER 키워드를 씁니다.
ALTER TABLE player_info
MODIFY role CHAR(5) AFTER name;
role 컬럼이 name 컬럼 바로 뒤로 이동합니다.
컬럼 이름과 타입/속성 동시에 바꾸기 (CHANGE)
컬럼 이름 변경(RENAME)과 타입/속성 변경(MODIFY)을 한 번에 처리하려면 CHANGE 키워드를 사용합니다.
ALTER TABLE player_info
CHANGE role position VARCHAR(2) NOT NULL;
role 컬럼이 position으로 이름이 바뀌고, 타입도 VARCHAR(2) NOT NULL로 변경됩니다.
여러 작업 동시에 수행하기
ALTER TABLE 문 뒤에는 여러 절을 나열할 수 있습니다.
예를 들어, 다음 네 가지 작업을 한 번에 처리할 수 있습니다:
- id → registration_number로 이름 변경
- name → VARCHAR(20) NOT NULL로 수정
- position 컬럼 삭제
- height, weight 컬럼 추가
ALTER TABLE player_info
CHANGE id registration_number INT,
CHANGE name name VARCHAR(20) NOT NULL,
DROP COLUMN position,
ADD COLUMN height INT,
ADD COLUMN weight INT;
여러 ALTER 작업을 한 문장으로 처리할 수 있어 편리합니다.
정리
- FIRST / AFTER : 컬럼 순서 변경
- CHANGE : 이름, 타입, 속성까지 한 번에 변경
- ADD / DROP : 컬럼 추가 및 삭제
- 여러 절 동시에 : 여러 수정 작업을 한 문장으로 실행 가능
이 정도만 알아도 기존 테이블 구조를 수정할 때 큰 어려움이 없습니다.
'컴퓨터 과학 > 데이터 베이스' 카테고리의 다른 글
| Foreign Key: 논리적 vs 물리적 (0) | 2025.08.19 |
|---|---|
| MySQL 외래키(Foreign Key)와 ON DELETE 제약조건 (0) | 2025.08.19 |
| Primary Key와 Unique의 차이 (0) | 2025.08.19 |
| MySQL에서 행의 생성/갱신 시각 관리하기 (0) | 2025.08.19 |
| MySQL 생성(Create), 수정(Update/Alter), 삭제(Delete/Drop) 문법 정리 (0) | 2025.08.19 |