如何调整Oracle(11g)数据库字段顺序

如何调整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


rename test_table_new to 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’;



每天努力一点,每天都在进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

powerfuler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值