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

MySQL에서 기존 컬럼의 데이터 타입을 변경하는 방법 (MODIFY 활용)

기존 컬럼의 데이터 타입을 변경하려면 ALTER TABLE 문과 함께 MODIFY 절을 사용하면 됩니다. 먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    (
    ClientId varchar(100),
    ClientName varchar(100),
    ClientAge int,
    ClientProjectDeadline timestamp,
    ClientCountryName varchar(100),
    isMarried boolean,
    ClientNumber bigint
    );
Query OK, 0 rows affected (0.70 sec)

DESC 명령어를 사용해 테이블 구조를 확인해 보겠습니다.

mysql> desc DemoTable;

위 명령을 실행하면 다음과 같은 결과가 출력됩니다.

+-----------------------+--------------+------+-----+---------+-------+
| Field                 | Type         | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| ClientId              | varchar(100) | YES  |     | NULL    |       |
| ClientName            | varchar(100) | YES  |     | NULL    |       |
| ClientAge             | int(11)      | YES  |     | NULL    |       |
| ClientProjectDeadline | timestamp    | YES  |     | NULL    |       |
| ClientCountryName     | varchar(100) | YES  |     | NULL    |       |
| isMarried             | tinyint(1)   | YES  |     | NULL    |       |
| ClientNumber          | bigint(20)   | YES  |     | NULL    |       |
+-----------------------+--------------+------+-----+---------+-------+
7 rows in set (0.34 sec)

이제 ALTER TABLE 문과 MODIFY 절을 사용하여 ClientNumber 컬럼의 데이터 타입을 bigint에서 varchar(20)으로 변경해 보겠습니다.

mysql> alter table DemoTable modify ClientNumber varchar(20);
Query OK, 0 rows affected (1.82 sec)
Records: 0 Duplicates: 0 Warnings: 0

변경이 정상적으로 완료되었는지 확인하기 위해 다시 한번 테이블 구조를 조회해 보겠습니다.

mysql> desc DemoTable;

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

+-----------------------+--------------+------+-----+---------+-------+
| Field                 | Type         | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| ClientId              | varchar(100) | YES  |     | NULL    |       |
| ClientName            | varchar(100) | YES  |     | NULL    |       |
| ClientAge             | int(11)      | YES  |     | NULL    |       |
| ClientProjectDeadline | timestamp    | YES  |     | NULL    |       |
| ClientCountryName     | varchar(100) | YES  |     | NULL    |       |
| isMarried             | tinyint(1)   | YES  |     | NULL    |       |
| ClientNumber          | varchar(20)  | YES  |     | NULL    |       |
+-----------------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

위 출력 결과를 보면 ClientNumber 컬럼의 데이터 타입이 bigint에서 varchar(20)으로 성공적으로 변경된 것을 확인할 수 있습니다. 이처럼 MODIFY 절을 활용하면 기존 테이블의 컬럼 데이터 타입을 간단하게 수정할 수 있습니다.