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

MySQL에서 ALTER TABLE로 여러 열의 데이터 타입을 한 번에 변경하는 방법

MySQL에서 ALTER TABLE 명령어를 사용하면 한 번의 실행으로 두 개 이상의 열 데이터 타입을 동시에 변경할 수 있습니다. 이때 MODIFY COLUMN 절을 활용하며, 기본 문법은 다음과 같습니다.

ALTER TABLE 테이블명
MODIFY COLUMN 컬럼명1 데이터타입,
MODIFY COLUMN 컬럼명2 데이터타입,
.
.
.
MODIFY COLUMN 컬럼명N 데이터타입;

예제 테이블 생성

문법을 실제로 이해하기 위해 먼저 예제 테이블을 만들어 보겠습니다. 다음 쿼리를 실행합니다.

mysql> CREATE TABLE AddColumn
    -> (
    -> StudentID int,
    -> StudentName varchar(200)
    -> );
Query OK, 0 rows affected (0.49 sec)

위 쿼리로 "AddColumn"이라는 테이블에 두 개의 열(StudentID, StudentName)이 생성되었습니다. 이제 이 테이블의 두 열 데이터 타입을 한 번에 변경해 보겠습니다.

여러 열의 데이터 타입 변경하기

MODIFY COLUMN 절을 쉼표(,)로 구분하여 나열하면 여러 열을 동시에 수정할 수 있습니다.

mysql> ALTER TABLE AddColumn
    -> MODIFY COLUMN StudentName varchar(300),
    -> MODIFY COLUMN StudentId varchar(50);
Query OK, 0 rows affected (1.95 sec)
Records: 0 Duplicates: 0 Warnings: 0

위 쿼리에서 StudentName 열은 varchar(200)에서 varchar(300)으로, StudentId 열은 int에서 varchar(50)으로 각각 변경되었습니다.

변경 결과 확인

변경이 정상적으로 적용되었는지 확인하려면 DESC 명령어로 테이블 구조를 조회합니다.

mysql> DESC AddColumn;

실행 결과는 다음과 같습니다.

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| StudentId   | varchar(50)  | YES  |     | NULL    |       |
| StudentName | varchar(300) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

출력 결과를 보면 두 열 모두 지정한 데이터 타입으로 성공적으로 변경된 것을 확인할 수 있습니다. 이처럼 MODIFY COLUMN 절을 나열하기만 하면 여러 열의 데이터 타입을 단 한 번의 ALTER TABLE 문으로 손쉽게 처리할 수 있습니다.