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语句。MySQL的source导入乱码解决方案Oracle SQL语句如何判断某字段是以字母开头而不是汉字开头相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)