数据库——Oracle中快速复制表结构及sql语句select into的用法

select into的使用规则:
  • 在Oracle中是pl/sql的变量赋值语句;
  • 在sql server中可以用来复制一个表的数据并插入到另一个新表中,语法如下:
SELECT    *     INTO  新表名 [IN 外部数据库]  FROM  旧表名;
SELECT 字段名(s) INTO  新表名 [IN 外部数据库]  FROM  旧表名;

在这里若只想复制表结构则可以添加促使查询无结果返回的where子句:
SELECT * INTO 新表名 FROM 旧表名 WHERE 1=0;
Oracle中快速复制表结构和表数据:
复制表结构及其数据: 
create table 新表名 as select 字段名(s) from 旧表名;

只复制表结构: 
create table 新表名 as select * from 旧表名 where 1=2;
create table 新表名 like 旧表名;

只复制表数据:
若两表结构相同:insert into 新表名 select * from 旧表名;
若两表结构不同:insert into 新表名(字段1,字段2...) select  字段1,字段2... from 旧表名;

注:此方法无法复制表的约束(索引,主键等),只能生成sql脚本(附带约束信息),再执行脚本生成表;
在写sql语句的时候要注意使用的数据库,因为不同的数据库中同一sql的功能可能会不同。

你可能感兴趣的:(database,basic,笔记,oracle,数据库,select-int,复制表结构)