MySQL에서 varchar 필드의 크기를 확장하면 그 안의 데이터에는 영향을 미치지 않습니다.
먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable( Name varchar(8) ); Query OK, 0 rows affected (1.11 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('Mike'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.13 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+--------+ | Name | +--------+ | John | | Robert | | Mike | | Sam | +--------+ 4 rows in set (0.00 sec)
테이블에 대한 설명을 확인해보자 -
mysql> desc DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | Name | varchar(8) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 1 row in set (0.04 sec)
이제 VARCHAR(8)에서 VARCHAR(100)으로 VARCHAR 크기를 확장해 보겠습니다. -
mysql> alter table DemoTable change Name Name varchar(100); Query OK, 4 rows affected (1.96 sec) Records: 4 Duplicates: 0 Warnings: 0
다시 한번 표의 설명을 확인해보자 -
mysql> desc DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.01 sec)
varchar의 크기를 확장한 후에는 그 안의 데이터는 영향을 받지 않지만 크기를 줄이면 문제가 발생할 수 있습니다.