oracle数据库【表复制】insert into select from跟create table
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select * from source_table insert into target_table(column1,column2) select column1,column2 from source_table 以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。 第一句(create table as select * from)要求 目标表target_table不存在,因为在插入时会自动创建。 第二句(insert into select from)要求 目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如sql语句: insert into target_table(column1,5 from source_table例中的:5; 无论是create table as select * from还是insert into select from,from后面的都是源表(source_table); 1、Insert into Select from 语句 --1.创建测试表: CREATE TABLE Table1 ( a varchar(10) PRIMARY KEY,b varchar(10),c varchar(10) ); CREATE TABLE Table2 ( a varchar(10) PRIMARY KEY,c varchar(10),d int ); --2.创建测试数据: Insert into Table1 values ('赵','asds','90'); Insert into Table1 values ('钱','100'); Insert into Table1 values ('孙','80'); Insert into Table1 values ('李',null); 查询目标表: select * from Table2 没有记录; --3.INSERT INTO SELECT语句复制表数据: Insert into Table2(a,c,d) select a,5 from Table1 --4.显示更新后的结果: select * from Table2; A C D 1 赵 90 5 2 钱 100 5 3 孙 80 5 4 李 5注意:D字段的值全部是常量5; --5.删除测试表: drop TABLE Table1 drop TABLE Table2 2、create table as select * from语句 语句形式为:create table targer_table as select * from source_table; 要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下: --1.创建测试表: CREATE TABLE Table1 ( a varchar(10) PRIMARY KEY,c varchar(10) ); --2.创建测试数据: Insert into Table1 values ('赵',null); --3.create table as select * from语句创建表Table2并复制数据: create table TABLE2 as select * from TABLE1; --4.显示更新后的结果: select * from Table2 A B C 1 赵 asds 90 2 钱 asds 100 3 孙 asds 80 4 李 asds --5.删除测试表: drop TABLE Table1 drop TABLE Table2 附: 注意: create table targer_table as select * from source_table是会复制表结构+表数据, 而create table targer_table as select * from source_table where 1=2;只会创建相同的表结构,不会复制表数据。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 编译别人的程序最大的悲哀莫过于那人太依赖libtool、pkg-co
- 删除Oracle中非常大的记录集的最佳方法
- Flex 1114 The public attribute can only be used inside
- C#向PPT文档插入图片以及导出图片的实例
- UML关系(泛化,实现,依赖,关联(聚合,组合))
- Ruby on Rails中的MySQL性能
- sqlite3 api sqlite3_busy_timeout 与 sqlite3_busy_handl
- Qt: QXmlStreamWriter Class写XML文件
- SQLite数据库的体系结构(翻译自sqlite.org)
- 在Swift中初始化空数组的字典