Oracle 把一个表中的数据插入到另外一个表中
1.在oracle中可以用下面两种:01: create table newtable as 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语句。
上一篇: java生成SQL语句
推荐阅读
-
Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法
-
删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
-
sql将一个表中的数据插入到另一个表中的方法
-
mysql怎么把一个数据库的表复制到另一个数据库中
-
SQL Server 将一个表中字段的值复制到另一个表的字段中
-
我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令
-
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
-
mysql 从一个表中查数据并插入另一个表实现方法
-
数据迁移:一个表的数据插入到另外一个表,限定某些字段
-
Excel 如何从一个综合信息表中筛选出需要的一些数据