--複製另一個資料庫中的某張表的結構及數據--select * from Test.dbo.TestTable(查詢表中所有數據) --into [表名] 插入當前資料庫新表,如果沒有該表就創建 select * into TestCopy from Test.dbo.TestTable --只複製 ...
--複製另一個資料庫中的某張表的結構及數據
--select * from Test.dbo.TestTable(查詢表中所有數據)
--into [表名] 插入當前資料庫新表,如果沒有該表就創建
select * into TestCopy from Test.dbo.TestTable
--只複製表結構(1!=1等價於1<>1,只要where後的為false就可以)
--把查詢出的數據插入到新表,如果沒有數據就只是複製表結構了
select * into TestCopy from Test.dbo.TestTable where 1!=1
--into #[表名] #代表臨時表
select * into #TestCopy from Test.dbo.TestTable
--複製某個欄位到新表(欄位名相同)
select TestID into TestCopy from Test.dbo.TestTable
--複製某個欄位到新表(欄位名不同)
--下麵的寫法不正確,可能插入某一個欄位時表必須存在
select TestID into TestCopy1(TestCopy1ID) from Test.dbo.TestTable
--複製某個欄位到新表(重新命名欄位名)
--在查詢時使用別名新表中的欄位名是別名而不是本名
select TestID as TestCopyID into TestCopy1 from Test.dbo.TestTable
--上面是新表不存在的時候,當表存在時
insert into TestCopy1 select * from Test.dbo.TestTable
--插入一個欄位的數據到新表(可以插入到別的欄位中去)
insert into TestCopy1(TestName) select TestID from Test.dbo.TestTable
--複製同一張表中數據(沒有主鍵,複製的數據在上面不在下麵)
insert into TestCopy(testID) select testName from TestCopy
--去除表中重覆欄位
--row_number() over 統計相同的欄位並給每條數據加上一個標號,>1代表重覆數據,刪除掉>1的數據
delete t from
(select row_number() over (partition by testID,testName,price order by testID) as p1,* from TestCopy) as t
where t.p1>1