oracle增加字段、删除字段、修改字段类型

Oracle的列操作(增加列,修改列,删除列),包括操作多列

增加一列:

   alter table emp4 add test varchar2(10);

修改一列:

   alter table emp4 modify test varchar2(20);

删除一列:

alter table emp4 drop column test;

 

这里要注意几个地方,首先,增加和修改列是不需要加关键字COLUMN,否则会报错ora-00905。

其次,对删除单列的话,一定要加COLUMN,然后记住,删除是不需要加列类型的。

 

增加多列:

   alter table emp4 add (test varchar2(10),test2 number);

修改多列:

   alter table emp4 modify (test varchar2(20),test2 varchar2(20));

删除多列:

   alter table emp4 drop (test,test2);

很奇怪的现象,再单列中要加关键字COLUMN,然而再删除多列的时候,不能加COLUMN关键字。

修改列的名字:

alter table emp4  rename column column1(列名) to column2(新的列名)

修改字段的类型:

如果字段有值,不能修改。具体步骤如下:

先新增一列,列的类型为你需要的类型:

alter table 表名 add id_bak VARCHAR2(20 BYTE);

赋值(注意字段的值的匹配),需要改类型的列的值赋值给新增的一列

update 表名 a set a.id_bak =(select b.id from 表名 b where b.id = a.id);

然后改字段的名称

alter table 表名 rename column id to id_bb;
alter table 表名 rename column id_bak to ID;
alter table 表名 rename column id_bb to id_bak;



你可能感兴趣的:(oracle,sql)