一次性插入多條記錄

slb190623發表於2020-11-18

一次性插入多條記錄

一、聯合結果集union(集合運算子)的使用方法
1、集合運算子是對兩個集合的操作, 兩個集合必須有相同的列數,列具有相同的資料型別(至少能夠進行隱式型別轉換),最終輸出集合的列名由第一個集合的列名確定。

select 100,100
union
select 100,200

2、union,預設去除重複,相對預設使用了distinct;要想全部顯示,使用union all

select 100,100
union
select 100,100
select 100,100
union all
select 100,100

3、使用union一次插入多條記錄,當插入的資料相同時,不會重複插入,除非使用了union all;當插入的語句中存在union和union all時,還是排除重複資料插入

insert into admin
select 'abc','abc' union
select 'sfas','fasd'

在這裡插入圖片描述

insert into admin
select 'abc','abc' union
select 'abc','abc'

在這裡插入圖片描述

insert into admin
select 'abc','abc' union
select 'abc','abc' union all
select 'sfas','fasd'

在這裡插入圖片描述
3、把現有表的資料插入到新表(表不能存在),為表建立備份;通過這種方式只會複製表中的資料,以及列的名字和資料型別,對於約束,不會複製過來

  • 為student備份資料
select * into newStudent from student --newStudent在查詢的同時自動建立
  • 複製表結構
select top 0 * into newStudent from student --效率高
  • 把現有表中的資料插入到一個已存在的表中
insert into newStudent select * from student

相關文章