當前位置:首頁 » 編程語言 » 一次增加多條數據的sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

一次增加多條數據的sql語句

發布時間: 2022-10-21 12:21:03

① 求sql怎麼一次用insert 添加多條數據

資料庫沒有真正意義的多條數據同時添加。
只是把多條insert語句連續書寫,實際還是一條一條添加。
資料庫每一條記錄添加會有相關觸發操作,比如主鍵判斷、觸發器,所以不可能同時添加多條記錄。

② 用sql語句批量增加數據

批量增加數據,能再具體點嗎,具體問題的處理方式不同,如果要從一張表中取數據,增加到另一張表中,那直接
insert
tableA
select
column1,column2....from
tableB
where
......(where條件根據實際需要)
這樣就可以實現批量插數據
insert
tableA(column1,column2....)
values(a,b,c,...)這種只能一次插一條
如果還復雜點的話,也可以用循環來做。

③ 向sql 資料庫中增加多條數據,用sql命令怎麼寫急!急!急!

如果沒有規律就不好辦,你可以先插入多條一樣的數據,然後到管理器去修改name 和times_money 的值,能快點。要不就寫個存儲過程,不過時間長,看你數據多少了,一般大數據量可以通過導入的方式錄入。

④ 求sql怎麼一次用insert 添加多條數據

用insert 添加多條數據:
insert into 表1(列名) select 列名 from 表2 --主鍵要自增
對於主鍵不自增的也可以處理,如:建一張臨時表,主鍵ID自增,然後取出要插入有的最大值,把最大值加到臨時表ID上再用:insert into 表1(ID,列名) select ID,列名 from 表2
insert into persons
(id_p, lastname , firstName, city )
values
(200,'haha' , 'deng' , 'shenzhen'),
(201,'haha2' , 'deng' , 'GD'),
(202,'haha3' , 'deng' , 'Beijing');

⑤ 求sql怎麼一次用insert 添加多條數據

可以一次加入多條記錄。
在SQL
SERVER里邊,多個INSERT
語句之間,用分號(;)或者空格,隔開,這樣資料庫就認為你是在進行多條SQL語句的插入操作。就可以插入多條了。

⑥ 求sql怎麼一次用insert 添加多條數據

用insert 添加多條數據:
insert into 表1(列名) select 列名 from 表2 --主鍵要自增
對於主鍵不自增的也可以處理,如:建一張臨時表,主鍵ID自增,然後取出要插入有的最大值,把最大值加到臨時表ID上再用:insert into 表1(ID,列名) select ID,列名 from 表2

⑦ 求sql怎麼一次用insert 添加多條數據

如果是sqlserver支持多sql語句,你可以將所有的insert拼接成字元串,一起發送到伺服器

或者你可以批量插入另一個數據集的數據
insert xxx(id,name) select id,name from xxx

⑧ 求sql怎麼一次用insert 添加多條數據

--一條insert只能插入一行數據,除非你有一個相同數據類型的表需要復製表數據批量插入可以使用
InsertintoTable2(field1,field2,...)selectvalue1,value2,...fromTable1
--要求目標表Table2必須存在,由於目標表Table2已經存在,所以我們除了插入源表Table1的欄位外,還可以插入常量。

⑨ 求sql怎麼一次用insert 添加多條數據

資料庫是沒有真正的批量新增記錄。因為每新增一個條記錄資料庫系統要進行校驗,比如觸發器。
可以用多條insert語句,類似批量添加多條記錄。
比如 :
insert into table values(var1...);
insert into table values(var2...);
...
insert into table values(varN...);
不過,實質上資料庫還是逐條添加的,並不是同時添加所以盡量。

⑩ sql 一次插入多條記錄

在使用sql資料庫的時候,我們也許會需要一次像資料庫中添加多條記錄,那麼我們可以使用sql語句來實現,該語句具體如下:
--添加一條記錄
insert
into
tablename(col1,col2,col3)
values
(1,2,3)
--添加多條記錄
insert
into
tablename(col1,col2,col3)
select
3,4,5
union
all
select
6,7,8
--從另外的一張表中讀取多條數據添加到新表中
insert
into
tablename(col1,col2,col3)
select
a,b,c
from
tablea
--從其他的多張表中讀取數據添加到新表中
insert
into
tablename(col1,col2,col3)
select
a,b,c
from
tablea
where
a=1
union
all
select
a,b,c
from
tableb
where
a=2
上邊代碼中的into都可以省略!
上邊代碼中的union
all如果換成union,則相同記錄只插入一次,不會重復插入。
另外一種方法是sql
server2008特有的,所以,如果你不是sql
server2008,就不能使用這種方法了。
insert
into
mytable(id,name)values(7,'003'),(8,'004'),(9,'005')
create
table
[test]
(
[num_id]
int
primary
key
)
go
declare
@temp
int
set
@temp=1;
while
@temp<=1000000
begin
insert
into
[test]([num_id])
values(@temp)
set
@temp=@temp+1;
end
go
----------------------------------------------------------
--試試下面的方法
--2005
declare
@n
as
bigint;
set
@n
=
1000000;
with
base
as
(
select
1
as
n
union
all
select
n
+
1
from
base
where
n
<
ceiling(sqrt(@n))
),
expand
as
(
select
1
as
c
from
base
as
b1,
base
as
b2
),
nums
as
(
select
row_number()
over(order
by
c)
as
n
from
expand
)
select
n
from
nums
where
n
<=
@n
option(maxrecursion
0);
--2
create
function
dbo.fn_nums(@n
as
bigint)
returns
table
as
return
with
l0
as(select
1
as
c
union
all
select
1),
l1
as(select
1
as
c
from
l0
as
a,
l0
as
b),
l2
as(select
1
as
c
from
l1
as
a,
l1
as
b),
l3
as(select
1
as
c
from
l2
as
a,
l2
as
b),
l4
as(select
1
as
c
from
l3
as
a,
l3
as
b),
l5
as(select
1
as
c
from
l4
as
a,
l4
as
b),
nums
as(select
row_number()
over(order
by
c)
as
n
from
l5)
select
n
from
nums
where
n
<=
@n;
go
--2000
這個會比前兩個慢,但是前兩個2000不能用
create
table
dbo.nums(n
int
not
null
primary
key);
declare
@max
as
int,
@rc
as
int;
set
@max
=
1000000;
set
@rc
=
1;
insert
into
nums
values(1);
while
@rc
*
2
<=
@max
begin
insert
into
dbo.nums
select
n
+
@rc
from
dbo.nums;
set
@rc
=
@rc
*
2;
end
insert
into
dbo.nums
select
n
+
@rc
from
dbo.nums
where
n
+
@rc
<=
@max;
--------------------------------------------------------------------------------------------------------