1、SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 Insert 是 T-sql中常用语句, Insert INTO table(field1,field2,.) values(value1,value2,.)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个 table1 的数据的部分字段复制到 table2中,或者将整个 table1 复制到 table2 中,这时候我们就要使用 SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT 语句 语句
2、形式为: Insert into Table2(field1,field2,.) select value1,value2,. from Table1 要求目标表 Table2 必须存在,由于目标表 Table2 已经存在,所以我们除了插入源表Table1 的字段外,还可以插入常量。示例如下: -1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT PK_Table1 PRIMARY KEY CLUSTERED ( a ASC ) ) ON PRIMARY create TAB
3、LE Table2 ( a varchar(10), c varchar(10), d int, CONSTRAINT PK_Table2 PRIMARY KEY CLUSTERED ( a ASC ) ) ON PRIMARY GO -2.创建测试数据 Insert into Table1 values(赵 ,asds,90) Insert into Table1 values(钱 ,asds,100) Insert into Table1 values(孙 ,asds,80) Insert into Table1 values(李 ,asds,null) GO select * from
4、Table2 -3.INSERT INTO SELECT语句复制表数据 Insert into Table2(a, c, d) select a,c,5 from Table1 GO -4.显示更新后的结果 select * from Table2 GO -5.删除测试表 drop TABLE Table1 drop TABLE Table2 2.SELECT INTO FROM语句 语句形式为: SELECT vale1, value2 into Table2 from Table1 要求目标表 Table2 不存在,因为在插入时会自动创建表 Table2,并将 Table1 中指定字段数据
5、复制到 Table2 中。示例如下: -1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT PK_Table1 PRIMARY KEY CLUSTERED ( a ASC ) ) ON PRIMARY GO -2.创建测试数据 Insert into Table1 values(赵 ,asds,90) Insert into Table1 values(钱 ,asds,100) Insert into Table1 values(孙 ,asds,80) Insert into Table1 values(李 ,asds,null) GO -3.SELECT INTO FROM语句创建表 Table2并复制数据 select a,c INTO Table2 from Table1 GO -4.显示更新后的结果 select * from Table2 GO -5.删除测试表 drop TABLE Table1 drop TABLE Table2