重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
alter table table_name add (e number(4));
站在用户的角度思考问题,与客户深入沟通,找到硚口网站设计与硚口网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟主机、企业邮箱。业务覆盖硚口地区。
oracle中不能在某列前后固定插入,只会在最后列中追加
插入新列不影响前面的数据
其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么
如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
没有这样的命令啊,新加列只能在最后,除非删表重建!
再说只是显示的问题,没什么关系的,实在不行写查询语句的时候,写在前面就好呗!
添加列的语法是:
alter table table_name add (w number(4),y number(4));
但是你是无法控制新增的列在1,2,3,4,5前面。只能采用变通的方法;
1 如上先把列添加上。
2 然后
create table table_name1 select (A,B,C...,W,Y,1,2,3,4,5) from table_name;
3 drop table table_name;
4 alter table table_name1 rename table_name;
------------------------------补充------------------------------------
就我所了解看来,你必须这样做。
你的列很多?有多少?有1000个吗?
表中列的顺序并不重要。你如果非要达到这种效果那么不得不付出代价。比如说:像上面将每个列都写上去。。。
数据不会丢失。
首先,表的字段的物理位置是固定的
就是现在是ID NAME DEPT_ID的顺序不能改变,顶多是可以把薪水加到最后一列
增加一个字段的方法,看你是用的oracle
alter table s_emp add 薪水 number(10,2);
薪水那俩字你替换成你想改的英文名称吧
另外如果你非让它显示在ID和NAME中间,只能在查询中做到,否则就得全表删除重建
select id,薪水,name,dept_id from s_emp;
第一种方法:企业管理器-〉设计表-〉右键第4列-〉插入列
第二种方法:SQL语句,没有直接在指定位置插入的语句,不过我考虑的语句很简单
1.新建一张表,原来是abcde,现在新建为abcXde,X是插入的列
2.把原来abcde中的数据全部插入新表中
3.删除旧表abcde
update table
set 新增列=’值‘
where
或者
insert into table (新增列) values(值)