select into from与insert into select都是用来复制Table结构和数据的SQL语句。
唠一唠区别
主要区别是select into Table1 from Table2 语句中Table1是不存在的,执行时自动创建。而insert into Table1 select Table2 的语句中Table1是已经存在的。
下边儿来看分别怎么用
A、select into from (Table1不存在,创建时自动生成)
1、将Table2的结构和数据全部复制给Table1。
select * into Table1 from Table2
2、只将Table2的结构复制给Table1。
select * into Table1 from Table2 where 1=0
3、将Table2的结构和数据的部分列复制给Table1。
select 列1,列2,列3 intoTable1 from Table2
4、将Table2的结构和数据的部分行复制给Table1。
select * intoTable1 from Table2 where 列1=1
注意写这些语句前先判断Table1是否存在,若存在请先删除。
IF(OBJECT_ID('Table1') is not null)
drop table Table1
B、insert into select (Table1已经存在)
1、将Table2的结构和数据全部复制给Table1。
insert into Table1 select * from Table2
2、只将Table2的结构复制给Table1。
insert into Table1 as select * from Table2 where 1=0;
注意Table1是已经存在的,若没有请先创建。
SQL语句不同可作用是类似的,都用来备份数据的。不经常写存储过程这些东东还真没有见到过,长见识了就分享到这!