zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    sql 计算auc
    tf.app.flags
    transformer
    python 直连 hive
    rnn 详解
    yolov3
    记学习react-native
    html5横、竖屏状态 以及禁止横屏
    图片懒加载
    npm安装的时候报-4048
  • 原文地址:https://www.cnblogs.com/moonliu/p/5757620.html
Copyright © 2011-2022 走看看