MODIFY
와 함께 ALTER TABLE 명령을 사용해야 합니다.구문은 다음과 같습니다.
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table syntaxOfAlterCommandDemo -> ( -> UserId int, -> UserName varchar(30), -> UserAge int, -> UserCityName varchar(50) -> ); Query OK, 0 rows affected (0.51 sec)
표에 대한 설명을 확인해보자.
쿼리는 다음과 같습니다.
mysql> desc syntaxOfAlterCommandDemo;
다음은 출력입니다.
+--------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(30) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCityName | varchar(50) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+ 4 rows in set (0.04 sec)
이제 UserName 열을 varchar(30)에서 varchar(100)으로 변경해 보겠습니다. 지금은 UserName 열을 varchar(30)으로 설정했음을 기억하십시오. 열을 변경하는 쿼리는 다음과 같습니다.
mysql> alter table syntaxOfAlterCommandDemo modify column UserName varchar(100) NOT NULL; Query OK, 0 rows affected (1.36 sec) Records: 0 Duplicates: 0 Warnings: 0
표 설명을 다시 한 번 확인해보자.
쿼리는 다음과 같습니다.
mysql> desc syntaxOfAlterCommandDemo;
다음은 출력입니다.
+--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(100) | NO | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCityName | varchar(50) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
위의 샘플 출력을 보면 UserName 열이 이제 varchar(100)입니다.