SQL Server批量向表中插入多行数据语句
因自己学习测试需要,需要两个有大量不重复行的表,表中行数越多越好。手动编写SQL语句,通过循环,批量向表中插入数据,考虑到避免一致问题,设置奇偶行不同。个人水平有限,如有错误,还望指正。
语句如下:
1 --批量向表中插入大量数据语句(奇偶不同) 2 3 --判断测试表是否存在,存在则先删除再创建 4 if exists(select 1 from sysobjects where xtype='u' and name='table_test' ) 5 drop table table_test 6 create table table_test( 7 id int, 8 name char(50), 9 address char(50), 10 gender char(10) 11 ) 12 13 declare @n int 14 declare @name varchar(50)--使用变量 15 declare @name1 varchar(50)--设置奇数用 16 declare @name2 varchar(50)--设置偶数用 17 declare @addre varchar(50)--使用变量 18 declare @sql varchar(200) 19 set @n=0 20 set @addre='的家' 21 set @name=' ' 22 set @name1='Tom' 23 set @name2='Jarry' 24 while @n<998--不要2999,也不要1999,只要998,没错,只要998 25 begin 26 set @n=@n+1 27 if @n%2=1--奇数行 28 begin 29 set @name=@name1+convert(varchar,@n)--名字与编号组合,避免name列重复 30 set @addre=@name+@addre--地址由名字跟“的家”组合,避免不同 31 set @sql='insert into table_test (id,name,address,gender) values('+convert(int,@n)+','+@name+','+@addre+',''male'')' 32 set @addre='的家'--由于@address已经赋新值,手动恢复初始值,避免重复赋值导致字符超长 33 print(@sql) 34 exec(@sql) 35 end 36 else--偶数行 37 begin 38 set @name=@name2+convert(varchar,@n) 39 set @addre=@name+@addre 40 set @sql='insert into table_test (id,name,address,gender) values('+convert(int,@n)+','+@name+','+@addre+',''female'')' 41 set @addre='的家' 42 print(@sql) 43 exec(@sql) 44 end 45 end
这样便可以按照需求向表中批量插入多行。
我自己尝试插入了18750000行。
NiCE
分类:
SQLServer
标签:
SQL Server
, SQL语句
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术