MySQL 3.x版本以前,修改一个列的数据类型是一件很复杂的事情。假如你要修改列A,可能需要新建一个同名列B,将A重命名为C,然后把数据从A复制到B,然后把库中关于A的引用(索引等)重新指向B,最后删除C列,因此修改类型的代价相当大。
但是从MySQL 3.23.0开始,MySQL提供了ALTER TABLE语句,它可以帮助用户修改数据库表的列的数据类型、名称、删除列、添加列等操作。本文将结合实例,介绍如何利用“ALTER TABLE”语句来修改MySQL表中列的数据类型,。
假设有一个MySQL数据库,名称叫 t_1。里边新建一张表,名字叫 myTable、下面的句子可以用于查看表结构:
mysql> describe myTable;
运行以上语句,你可以查看表的字段(列)及其数据类型,例如:
-----------------
| Column | Type |
|----------------
| id | varchar|
| age | int(11)|
-----------------
假如想将id列由varchar改为整型,可以使用ALTER TABLE语句:
ALTER TABLE myTable mondify id int(11);
运行后,再查看表结构,会发现id列由varchar变为int(11)类型。
当然,MySQL不仅可以支持修改列的类型,还可以通过ALTER TABLE语句,用户可以在原有列基础上,添加新列、删除现有列、修改列的名称以及重新排序。
修改列类型是MySQL数据表设计过程中的重要技能之一,通过学习本文的介绍,我们应该能够熟练的在MySQL中使用ALTER TABLE语句进行数据类型修改了。