select * into 目標表名 from 源表名 insert into 目標表名(fld1, fld2) select fld1, 5 from 源表名
以上兩句都是將'源表'的數據插入到'目標表',但兩句又有區別的:
第一句(select into from)要求目標表不存在,因為在插入時會自動創建。
第二句(insert into select from)要求目標表存在,由於目標表已經存在,所以我們除了插入源表的字段外,還可以插入常量
復制用戶表
select * INTO [hxdl_test].[dbo].[Users] from [hxdl].[dbo].[Users]
1:復制表結構及數據到新表
SELECT * INTO 目的數據庫名.dbo.目的表名 FROM 原表名
2.備份表的一部分列(不寫*而寫出列的列表)
SELECT 列名1,列名2,列名3 into 目的數據庫名.dbo.目的表名 from 原表名
3.備份表的一部分行(加 WHERE 條件)
SELECT * INTO 目的數據庫名.dbo.目的表名 FROM 原表名 WHERE 條件
4.備份表的一部分列(不寫*而寫出列的列表)和一部分行(加WHERE條件)
SELECT 列名1,列名2,列名3 INTO 目的數據庫名.dbo.目的表名 FROM 原表名 WHERE 條件
5.只復制表的結構
這種情況,我們只要設置查詢條件不成立即可。我們把表 test1 的表結構復制到新表 test5:
SELECT * INTO test5 FROM test1 WHERE 1=2
6.復制的結構數據來源於多個表
其實我們要多個表的查詢結構作為一個數據源就行了,我們先看看表 test2 和 test4 目前的結果和數據:

然后我再把 id 相同下的 id,name,age 數據復制到新表 test6:
SELECT id,name,age INTO test6 FROM (SELECT test2.id,name,age FROM test2 INNER JOIN test4 ON test2.id = test4.id) as a
參考:
https://www.cnblogs.com/guorongtao/p/11607655.html
