如何调整Oracle(11g)数据库字段顺序
在11g版本中Oracle是不支持调整表字段顺序的,而在更高的版本则可以直接调整字段顺序。
这里我们需要做的就是在保持原表数据完整的情况下,调整字段顺序。
1、我们重新建一个临时表存放表数据,我们的原表名是test_table,临时表名test_table_new。
--根据我们需要显示字段的顺序建立临时表test_table_new
create table test_table_new as
select ID,
NAME,
SEX,
BIRTH,
CITY
from test_table;
--删除原来的表test_table
drop table test_table;
--把临时表重命名为test_table
2、上面这种方式建立的表存在一个问题,就是数据库表字段的注释会被清空,为了保证数据完整性,
我们需要手动备份表字段注释信息。然后通过
comment on column test_table.NAME is '名字';
comment on column test_table.SEX is '性别'; 。。。。
完成字段注释添加。
3、如果我们删除表忘记了备份,比如没有备份字段注释信息,或者字段有几个忘了,这时候我们怎么办?
我们就需要从Oracle垃圾站里面找到表信息,一般通过drop删除的表都会在垃圾站里面存一段时间,
如果垃圾站里面的数据也被删除了,那么只有自己添加了。
--查询数据库回收站信息,获取表在回收站里面的标识
select *
from user_recyclebin t
where t.original_name = 'test_table';
--查询表字段信息
select *
from user_col_comments t
where t.table_name = 'BIN$YU4EU0x7AK7gUwoOyc1GGw==$0';
4、常用到的数据库操作
--添加字段
alter table table_name add(count VARCHAR2(30));
comment on column table_name.buycard is '买卡送优惠券0';
--清空表数据
truncate table table_name;
--修改字段长度
alter table table_name modify(TRADETIME VARCHAR2(30));
--表字段重命名
alter table table_name rename column BusinessJnlNo to SEQ_NO;
--设置字段默认值
alter table table_name modify SEX default ‘0’;
每天努力一点,每天都在进步。