分两种情况:
1.表中没有数据的情况,直接一条sql语句就能解决
alter table 表名 modify(字段名 字段类型 )
例:
alter table A modify(name varchar2(4000))
2.在表中有数据的情况下,不能直接使用modify,否则会报错,如图
思路分4段,先将原字段改个名字,然后新增一个列,这个新增的列名跟原字段列名一致,然后将原字段中的数据复制进新增字段中即可,最后删除改了名字的字段。
如:创建的表student如图
但想改SAGE字段的长度为3, 此时可以这样做:
1)把sage列重命名为age
2)然后新增一个Sage字段,此时要写成我想要的字段长度或者类型
3)然后复制原有数据到新创建的列上面
4) 最后使用alter table student drop column name;语句删除修改了的字段。
其他列想改的也可以照此操作。
此时明显看到表字段已经修改