Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 열을 varchar(30)에서 varchar(100)으로 변경하는 방법은 무엇입니까?

<시간/>

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)입니다.