修改oracle数据库中表的结构

alter table aa drop cloumn 列名字 删除;
rename oldtablename to newtablename;
comment on column aa.name is 'name 的描述性语言';
alter table aa add 字段名 字段类型;

改类型、长度、是否为空: 
alter table mytable modify (mycol varchar2(20) not null); 
要修改类型,字段必须是空的; 
要修改长度,如果字段是空的,完全可以改,如果字段不空,则只能增加长度,不能减小; 
要修改是否为空,字段必须符合constraint的要求 

没有办法改字段名称 

可以用ALTER TABLE命令改变一列的数据类型和长度。 
表中有数据时,可以增加某列的大小。如果想减少某列的大小或改变数据类型,则该表必须为空。 
alter table mytable modify (mycol varchar2(20) not null);

关于列名,没有直接的方法改变。但是可以通过其他方法达到改变列名的目的。 
例如: 
表A结构如下: 
ID(NUMBER) NAME(VARCHAR2(20) 
------------------------------------ 
1 TOM 
2 MIKE 
3 JHON 
将列名NAME改变为NAME1 
方法1.列复制法 
1.增加一个与NAME相同结构的字段NAME1 
Alter table A add(NAME1 varchar2(20)); 
2.将NAME中的数据复制到NAME1中 
Update A Set NAME1=NAME; 
3.删除NAME列 
Alter table A drop column NAME; 
4.修改完成 

方法2.表复制法 
1.将表A改名 
Alter table A rename to A1 
2.创建新表并复制数据 
Create table A(ID,NAME1) as Select * from A1 
3.删除表A1 
4.修改完成 

通过上面两种方法, 
重新检索表A结果如下: 
ID(NUMBER) NAME1(VARCHAR2(20) 
------------------------------------ 
1 TOM 
2 MIKE 
3 JHON

你可能感兴趣的:(数据结构,oracle)