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

MySQL에서 열(Column)의 데이터 유형 크기를 변경하는 방법

MySQL에서 열 크기 변경하기

MySQL에서 이미 선언된 열의 데이터 유형 크기를 수정하려면 ALTER TABLE 명령어를 사용하면 됩니다. 이 명령어를 활용하면 테이블 구조를 변경하지 않고도 기존 열의 크기를 손쉽게 늘리거나 줄일 수 있습니다.

예시: Student 테이블 확인

다음 예제에서는 'Student'라는 테이블을 사용합니다. 아래 쿼리를 실행해 보면 'Grade' 열의 크기가 VARCHAR(10)으로 선언되어 있는 것을 확인할 수 있습니다.

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

ALTER TABLE로 열 크기 확장하기

이제 'Grade' 열의 크기를 VARCHAR(10)에서 VARCHAR(50)으로 늘리고 싶다고 가정해 보겠습니다. 이 경우 다음과 같은 쿼리를 실행하면 됩니다.

mysql> ALTER TABLE Student MODIFY column Grade Varchar(50);
Query OK, 3 rows affected (0.85 sec)
Records: 3 Duplicates: 0 Warnings: 0

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)

결과 확인

위 쿼리 결과를 보면 'Grade' 열의 크기가 성공적으로 VARCHAR(50)으로 변경된 것을 확인할 수 있습니다.

참고 사항

열 크기를 축소할 때는 주의가 필요합니다. 기존에 저장된 데이터가 새로 지정한 크기보다 길 경우, 데이터가 잘리거나(strict 모드에서는 오류 발생) 손실될 수 있습니다. 따라서 크기를 줄이기 전에 반드시 현재 저장된 데이터의 최대 길이를 먼저 확인하는 것이 좋습니다. 또한 대용량 테이블의 경우 ALTER TABLE 작업 중 테이블 잠금이 발생할 수 있으므로, 서비스 트래픽이 적은 시간대에 작업을 수행하는 것이 안전합니다.