0%

명령어 ALTER 사용법

mariaDB에서 ALTER 명령어를 사용하는 방법을 정리합니다.


ALTER

이전 글에서도 살짝 살펴봤지만 명령어 ALTER은 기존의 테이블을 유지하면서 원하는 부분만 수정할 수 있다. 이번 글에서는 명령어 ALTER로 할 수 있는 일들을 살펴볼 것이다.

ADD COLUMN 열 추가하기

기존 생성되어 있는 테이블에 카테고리(Column)을 추가해야 하는 경우에는 ALTER TABLE + ADD COLUMN을 사용하면 된다. 문법은 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
ADD COLUMN '추가하려는 카테고리 이름' '키테고리 데이터 타입';

위의 문법으로 쿼리를 요청하면 sql은 기본적으로 추가되는 열을 끝에 추가한다. 만약 추가하려는 카테고리의 위치를 지정하려면 어떻게 해야 할까? ADD COLUMN 으로 시작하는 문장 마지막에 위치를 지정해주면 된다. 위치는 FIRST, SECOND 등 위치할 순서로 지정할 수도 있고, AFTER을 사용하여 기존의 특정 카테고리 뒤에 위치하도록 설정할 수도 있다. 예시는 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
ADD COLUMN '추가하려는 카테고리 이름' '키테고리 데이터 타입' FIRST;

RENAME TO 테이블 이름 변경하기

테이블의 이름을 다른 것으로 변경하고 싶다면 ALTER TABLE + RENAME TO를 사용하면 된다. 문법은 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
RENAME TO '변경하려는 테이블 이름';

RENAME COLUMN TO 열 이름 변경하기

특정 열의 이름을 변경하고 싶다면 ALTER TABLE + RENAME COLUMN TO를 사용하면 된다. 문법은 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
RENAME COLUMN '기존 열 이름' TO '바꾸려는 열 이름';

CHANGE COLUMN 열 이름 및 데이터 타입 변경하기

ALTER TABLE + CHANGE COLUMN는 열 이름과 동시에 해당 열의 데이터 타입도 변경해준다. 문법은 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
CHANGE COLUMN '기존 열 이름' '바꾸려는 열 이름' '새로운 데이터 타입';

MODIFY COLUMN 데이터 타입만 변경하기

만약 열 이름을 그대로 유지하면서 해당 열의 데이터 타입만 변경하고 싶은 경우는 어떻게 하면 될까?

ALTER TABLE + MODIFY COLUMN을 사용하면 간단하게 수정할 수 있다.

1
2
ALTER TABLE '테이블 이름'
MODIFY COLUMN '해당 열 이름' '새로운 데이터 타입';

DROP COLUMN 특정 열 삭제하기

기존의 테이블에서 특정한 카테고리만 제거하고 싶다면 ALTER TABLE + DROP COLUMN을 사용하면 된다. 문법은 다음과 같다.

1
2
ALTER TABLE '테이블 이름'
DROP COLUMN '삭제할 열 이름';

기본키 변경하기

만약 기존에 사용하던 기본키가 아닌 다른 열을 기본키로 지정하고 싶다면 어떻게 해야할까? 두 가지의 쿼리가 필요하다.

  • 기존의 기본키 삭제하기
1
2
ALTER TABLE '테이블 이름'
DROP PRIMARY KEY;

위 코드는 기존에 지정했던 기본키를 삭제한다.

  • 새로운 열을 기본키로 지정하기
1
2
ALTER TABLE '테이블 이름'
ADD PRIMARY KEY('기본키로 지정할 열 이름');

만약 새로운 기본키에 ATUO_INCREMENT를 설정하고 싶다면 MODIFY COLUMN이나 CHANGE COLUMN을 시용하면 된다.

1
2
3
4
5
6
--예시--
ALTER TABLE '테이블 이름'
MODIFY COLUMN '해당 열 이름' INT(10) NOT NULL AUTO_INCREMENT;

ALTER TABLE '테이블 이름'
CHANGE COLUMN '해당 열 이름' '해당 열 이름' INT(10) NOT NULL AUTO_INCREMENT;