加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle 把一个表中的数据插入到另外一个表中

发布时间:2020-12-12 13:20:33 所属栏目:百科 来源:网络整理
导读:1.在Oracle中可以用下面两种: 01:? ???? create table newtable?? as select * from oldtable;//用于复制前未创建新表newtable不存在的情况? 02:? ????? insert into newtable?? select * from oldtable;//已经创建了新表newtable 的情况 注意:第一种方式

1.在Oracle中可以用下面两种:

01:?
???? create table newtable?? as select * from oldtable;//用于复制前未创建新表newtable不存在的情况?
02:?
????? insert into newtable?? select * from oldtable;//已经创建了新表newtable 的情况

注意:第一种方式只是复制了表结构,但是主键什么的并没有复制进去,所以用的时候要小心在意。

2.如果想简单快速的复制表结构,而不需要oldtable里面的数据,可以用下面的语句:

??? create table newtable?? as? select * from oldtable where 1=2;(把数据过滤掉)

3.如过newtable 和oldtable的表结构不同,可以使用下面的方式:

?create table newtable? as select? s.c1,s.c2? from oldtable s;

?

4.如果想重新命名newtable的列名:

在oracle中:

?create table? newtable(id,name1) as select? s.c1,s.c2? from oldtable s;

或者

?create table? newtable as select? s.c1,s.c2? from oldtable s;

在mysql中恐怕只能用第二种方式了。

5.如果是只需要把一部分的oldtable中的数据添加到newtable中。可以这样:

?create table newtable?? as (select * from oldtable where ...);//加where过滤条件

6.最常见的情况是id列新表中要用,并且和旧表中的不同,使用下面的语句就可以了(我们可以重新建一个sequence)

create table yang(id,name) as select hibernate_sequence.nextval,t.ename from emp t;

7.要注意,导出表的时候不能用select...into语句

?

来源:https://www.linuxidc.com/Linux/2012-01/52491.htm

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读