Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블 열 수정 시 MODIFY 대신 사용할 수 있는 키워드는 무엇일까?

MySQL에서 기존 테이블의 열(column)을 수정할 때는 CHANGE 키워드를 사용할 수 있습니다. CHANGE 키워드의 가장 큰 장점은 열의 이름정의(데이터 타입, 크기 등)를 한 번에 모두 변경할 수 있다는 점입니다. 반면 MODIFY 키워드는 열 이름을 바꿀 수 없고 정의만 변경 가능합니다.

단, CHANGE 키워드를 사용한 ALTER TABLE 구문은 MODIFY를 사용할 때와 문법이 조금 다르니 주의해야 합니다.

CHANGE 키워드 기본 문법

ALTER TABLE table_name
CHANGE old_columnname1 new_columnname1 datatype,
CHANGE old_columnname2 new_columnname2 datatype,
...
CHANGE old_columnnameN new_columnnameN datatype;

예제 1: 열 이름과 크기 동시에 변경하기

아래 예제에서는 ALTER 명령어에 CHANGE 키워드를 활용하여 Student 테이블의 'RollNo' 열을 'Id'로, 'City' 열을 'Place'로 이름을 바꾸면서 각각 int와 Varchar(10) 타입으로 정의를 함께 수정했습니다.

mysql> ALTER TABLE Student CHANGE Rollno Id int, CHANGE City Place Varchar(10);
Query OK, 5 rows affected (0.40 sec)
Records: 5 Duplicates: 0 Warnings: 0

예제 2: 열 이름은 그대로 두고 크기만 변경하기

열의 이름은 유지한 채 크기(데이터 타입 정의)만 변경하고 싶다면, CHANGE 키워드 뒤에 기존 열 이름을 두 번 연속해서 작성하고 새로운 크기를 지정하면 됩니다.

mysql> ALTER TABLE Student CHANGE Email Email Varchar(30);
Query OK, 5 rows affected (0.33 sec)
Records: 5 Duplicates: 0 Warnings: 0

MODIFY와 CHANGE의 차이점 정리

  • MODIFY: 열 이름은 변경할 수 없으며, 데이터 타입이나 크기 등 정의만 수정할 때 사용합니다.
  • CHANGE: 열 이름과 정의를 모두 변경할 수 있으며, 이름을 유지하려면 기존 이름을 두 번 작성하면 됩니다.

따라서 단순히 열의 속성만 바꾸고자 한다면 MODIFY가 더 간결하고, 열 이름까지 변경해야 하는 상황이라면 CHANGE를 사용하는 것이 적합합니다.