oracle数据库更改字段类型比较墨迹,因为如果该字段有值,是不允许直接更改字段类型的。另外oralce不支持在指定的某个字段后面新增一个字段,但是mysql数据可以向指定的字段后面新增一个字段。

mysql向指定字段后面新增一个字段

alter table exam add 新增字段名 新增字段类型 after 指定字段名

oracle如果要修改字段类型,得分开实现,但是唯一缺点是字段顺序变了。

例如:在tab_user表addr字段类型为int,更改为varchar2(30)

1、新增一个字段,类型为varchar2(30)

alter table tab_user addr_new varchar(30);

2、把addr字段的值赋值给新增字段addr_new

update tab_user set addr_new=addr;

3、把原字段addr删除

alter talbe tab_user drop column addr;

4、把新增字段addr_new改名为addr

alter table tab_user rename column addr_new to addr;