数据库循环添加数据

创建一个新表GoodsInfo,如下:

数据库循环添加数据_第1张图片

然后添加一条数据:

insert into GoodsInfo (Name,Price,PlaceOrigin,manufactureDate,expirationDate)
values ('商品1',888,'郑州市管城区1号',GETDATE(),GETDATE()+999);

GoodsInfo表数据查询结果:

如果我想插入一百万条数据,这样我一个人短时间内一条一条的insert是不可能。用while循环可以很轻松的批量插入数据:

--循环添加数据
declare @i int --声明一个变量
set @i=2     --给变量赋值
while @i<1000000   --循环插入
begin
	insert into GoodsInfo (Name,Price,PlaceOrigin,manufactureDate,expirationDate)
	values ('商品'+convert(varchar,@i),888,'郑州市管城区'+convert(varchar,@i)+'号',GETDATE(),GETDATE()+999);
set @i=@i+1
end

以上sql语句是最原始的插入方法,效率挺低,我让它执行了几分钟就强制结束了只插入了60多万条数据,也可以优化一下插入方法,比如将1000条数据拼接成字符串,每次1000条,这样就大大的减少了IO,提高了插入效率,现在查询一下GoodsInfo表:

数据库循环添加数据_第2张图片

已经有64万多条数据了,查询所耗的时间也挺长,可以在表里添加一个索引进行优化。

 

以上就是循环插入数据库数据。

你可能感兴趣的:(数据库)