既存のカラム(列)のデータ型を変えるには “ALTER TABLE”を使用します。
基本的な書式は以下です。
1 |
mysql> ALTER TABLE MODIFY COLUMN ; |
例を示すと以下です。
1 |
mysql> ALTER TABLE mytest2 MODIFY COLUMN age TINYINT; |
以下実行画面になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
mysql> show fields from mytest2; +--------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(100) | YES | | NULL | | | age | int(11) | YES | | NULL | | | weight | int(11) | YES | | NULL | | +--------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) mysql> ALTER TABLE mytest2 MODIFY COLUMN age TINYINT; Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> show fields from mytest2; +--------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(100) | YES | | NULL | | | age | tinyint(4) | YES | | NULL | | | weight | int(11) | YES | | NULL | | +--------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) |
/