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

MySQL 테이블에서 열의 데이터 유형을 변경하는 방법 (ALTER TABLE 활용)

MySQL에서는 ALTER TABLE 명령어를 사용하여 기존 테이블의 열 데이터 유형을 손쉽게 변경할 수 있습니다. 이 글에서는 실제 예제를 통해 데이터 유형을 변경하는 과정을 단계별로 살펴보겠습니다.

예제 테이블 확인하기

먼저 'Student'라는 테이블이 있다고 가정해 보겠습니다. 이 테이블의 'RollNo' 열은 현재 Integer(int) 타입으로 선언되어 있습니다. 아래 쿼리를 실행하면 테이블 구조를 확인할 수 있습니다.

mysql> DESCRIBE Student;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Name   | varchar(20) | YES  |     | NULL    |       |
| RollNo | int(11)     | YES  |     | NULL    |       |
| Grade  | varchar(50) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

데이터 유형 변경하기

이제 'RollNo' 열의 데이터 유형을 int(11)에서 Varchar(10)으로 변경하고 싶다고 가정해 보겠습니다. 이 경우 다음과 같이 ALTER TABLE 명령어와 MODIFY 절을 함께 사용하면 됩니다.

mysql> Alter Table student Modify column RollNo Varchar(10);
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> Desc Student;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Name   | varchar(20) | YES  |     | NULL    |       |
| RollNo | varchar(10) | YES  |     | NULL    |       |
| Grade  | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

결과 확인

위 쿼리 결과를 보면 'RollNo' 열의 데이터 유형이 정수형(Integer)에서 문자열형(Varchar)으로 성공적으로 변경된 것을 확인할 수 있습니다.

주요 문법 정리

데이터 유형을 변경하는 기본 문법은 다음과 같습니다.

ALTER TABLE 테이블명 MODIFY COLUMN 열이름 새로운_데이터_유형;

참고: 데이터 유형을 변경할 때는 기존에 저장된 데이터가 새로운 유형과 호환되는지 반드시 확인해야 합니다. 예를 들어 숫자를 문자열로 변환하는 것은 일반적으로 안전하지만, 그 반대의 경우 변환할 수 없는 값이 있으면 오류가 발생하거나 데이터가 손실될 수 있습니다. 또한 대용량 테이블의 경우 ALTER TABLE 작업 중 테이블 잠금이 발생할 수 있으므로 서비스 운영 환경에서는 신중하게 진행하는 것이 좋습니다.