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

MySQL의 열을 int에서 double로 변경하시겠습니까?

<시간/>

MySQL의 열을 int에서 double로 변경하려면 ALTER TABLE 명령을 사용해야 합니다.

구문은 다음과 같습니다.

ALTER TABLE yourTableName modify column yourColumnName DOUBLE NOT NULL;

NULL 값을 원하면 위의 구문에서 NOT NULL을 제거하십시오. 구문은 다음과 같습니다.

ALTER TABLE yourTableName modify column yourColumnName DOUBLE;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table IntToDoubleDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> CylinderVolume int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.63 sec)

DESC 명령을 사용하여 테이블의 설명을 확인하십시오. 구문은 다음과 같습니다.

DESC yourTableName;

테이블에 대한 위의 쿼리를 적용하여 테이블에 대한 설명을 가져옵니다.

mysql> desc IntToDoubleDemo;

다음은 출력입니다.

+----------------+-------------+------+-----+---------+----------------+
| Field          | Type        | Null | Key | Default | Extra          |
+----------------+-------------+------+-----+---------+----------------+
| Id             | int(11)     | NO   | PRI | NULL    | auto_increment |
| Name           | varchar(10) | YES  |     | NULL    |                |
| CylinderVolume | int(11)     | YES  |     | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+
3 rows in set (0.18 sec)

위의 샘플 출력을 보면 'CylinderVolume' 필드는 int 유형입니다. 이제 int에서 double로 변환할 수 있습니다.

MySQL의 열을 int에서 double로 변경합니다. 쿼리는 다음과 같습니다.

mysql> alter table IntToDoubleDemo MODIFY COLUMN CylinderVolume double NOT NULL;
Query OK, 0 rows affected (2.79 sec)
Records: 0 Duplicates: 0 Warnings: 0

다시 한번 테이블의 설명을 확인하십시오. 쿼리는 다음과 같습니다.

mysql> desc IntToDoubleDemo\G

다음은 출력입니다.

*************************** 1. row ***************************
Field: Id
Type: int(11)
Null: NO
Key: PRI
Default: NULL
Extra: auto_increment
*************************** 2. row ***************************
Field: Name
Type: varchar(10)
Null: YES
Key:
Default: NULL
Extra:
*************************** 3. row ***************************
Field: CylinderVolume
Type: double
Null: NO
Key:
Default: NULL
Extra:
3 rows in set (0.00 sec)