INSERT INTO SELECT 和 SELECT INTO 语句的区别
2017-10-26 13:47
387 查看
主要区别
select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在。
INSERT INTO SELECT
从原表表复制数据,然后把数据插入到一个已存在的目标表中。目标表中任何已存在的行都不会受影响。
SELECT INTO
从一个表复制数据,然后把数据插入到另一个新表中。
SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的 WHERE 子句即可。
**注意:
在Oracle中select into from不可以使用—–原因很简单:select into是PL/SQL language 的赋值语句!如果使用则Oracle会抛出0RA-00905:missing keyword的异常!
但是可以用create table select代替该功能!!!**
备份表数据: create table Backup2017 as select * from scott.emp
还原表数据:insert into emp select * from scott.emp
复制表结构及其数据:
create table table_name_new as select * from table_name_old
只复制表结构:
create table table_name_new as select * from table_name_old where 1=2;
或者:
create table table_name_new like table_name_old
只复制表数据:
如果两个表结构一样:
insert into table_name_new select * from table_name_old
如果两个表结构不一样:
insert into table_name_new(column1,column2…) select column1,column2… from table_name_old
select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在。
INSERT INTO SELECT
从原表表复制数据,然后把数据插入到一个已存在的目标表中。目标表中任何已存在的行都不会受影响。
SELECT INTO
从一个表复制数据,然后把数据插入到另一个新表中。
SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的 WHERE 子句即可。
**注意:
在Oracle中select into from不可以使用—–原因很简单:select into是PL/SQL language 的赋值语句!如果使用则Oracle会抛出0RA-00905:missing keyword的异常!
但是可以用create table select代替该功能!!!**
备份表数据: create table Backup2017 as select * from scott.emp
还原表数据:insert into emp select * from scott.emp
复制表结构及其数据:
create table table_name_new as select * from table_name_old
只复制表结构:
create table table_name_new as select * from table_name_old where 1=2;
或者:
create table table_name_new like table_name_old
只复制表数据:
如果两个表结构一样:
insert into table_name_new select * from table_name_old
如果两个表结构不一样:
insert into table_name_new(column1,column2…) select column1,column2… from table_name_old
相关文章推荐
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
- select into 和 insert into select 两种表复制语句区别
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句区别
- select into 和 insert into select 两种表复制语句区别
- [MSSQL]SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- insert into select和select into的使用和区别介绍
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- select into 和 insert into select 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- select into 和 insert into select的区别
- SQL中SELECT INTO和INSERT INTO SELECT语句介绍
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- select into 和 insert into select 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句