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

时间: 2024-08-25 13:44:46

SQL Server批量向表中插入多行数据语句的相关文章

SQL Server 向堆表中插入数据的过程

堆表中  IAM 记录着的数据页,表的各个数据页之间没有联系.也就是说一个页面它不会知道自己的前一页是谁,也不知道自己的后一页是谁. 插入数据时先找到IAM页,再由pfs(page free space)决定插入到哪里!

【半转贴】解决SQL SERVER 2008数据库表中修改字段后不能保存

SQL SERVER 2008数据库表中修改字段后不能保存,这种情况将阻止保存要求重新创建表的更改一项的钩钩去掉就OK了 找到工具>选项>Designers>表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了 图片来自:http://www.jb51.net/article/42727.htm 刚好碰到这个问题,用的就是上面的方法解决的 [半转贴]解决SQL SERVER 2008数据库表中修改字段后不能保存

SQL中将某个表中的多行数据在一个字段显示

项目需求:将某个表中的多行数据在一个字段显示,如下: 比如表A中有字段 ID,NAME, 表B中有字段ID,PID,DES, 表A,表B中的数据分别如下: ID NAME1 张三2 李四 ID PID DES1 1 语文2 1 数学3 1 外语4 2 历史5 2 地理 最终我想显示的效果为: ID NAME KC1 张三 语文,数学,外语2 李四 历史,地理 方法:使用sql中的STUFF函数与for xml path 1.for xml path是将将查询结果集以XML形式展现 比如对于表B,

sql server数据库的表中修改一个表的字段的数据类型后,不能保存

一个表中的一个字段 student(sno, sname, age) sname 类型 nchar(10) 修改成int 保存时报错. 这个是SQL SERVER自身默认设置的问题,它默认为不能修改类型. 只需要在"tool->option->Designer ->Table and Database designers 中 去掉prvent saving changes that require table re-created."就可以了, 欧克了,在保存刷新.

SQL SERVER数据库的表中修改字段的数据类型后,不能保存

在数据库里面建了一个表,可是由于对SQL SERVER的建表功能不熟悉,不知道把主键设成什么是好,就先设置了个TEXT类型,可是后来朋友们告诉我说,TEXT类型容易让数据文件变得很大,还 是改成一个int型比较好.就打算修改字段类型.可是总是提示不让我修改,那个意思就是说你只能重建这个表.ACCESS都可以让随便修改类型,为啥 SQL SERVER就不行,不信这个邪,还是问问专业测试SQL SERVER的人员吧,问了半天没有反应,看来还是得自己去BAIDU一下,这次搜索很顺利,直接找到了心满意足

SQL SERVER数据库的表中修改字段属性被阻止“Prevent saving changes that require table re-creation”

1.启动SQL SERVER,选择工具—>选项,去掉“ 阻止保存要求重新创建表的更改”前面的勾. 2.选择设计器 3.去掉“阻止保存要求重新创建表的更改”前面的对号,点击OK. 重新启动SQL SERVER就可以了 .

SQL server 数据库的表的创建与使用T-SQL语句操控数据表

表的创建与T-SQL语句的使用 一,表的创建与基本概念 表是包含数据库中所有数据的数据库对象,表定义是一个集合.数据在表中组织方式与在电子表格中相似,都是按行和列的格式组织的.每一行代表一条唯一的记录,每一列代表记录中的一个字段. **SQLserver 中的表包含下列主要组件 ** #列: 每一列代表由表的建模的对象的某个属性,列如,一个产品表有id 列,颜色列和重量列 #行: 每一行代表由表建模的对象的一个单独的实例 数据类型 表的创建 使用T-SQL语句操控数据表 1.查询王明的成绩?结果

初学oracle,sql,DML向表中插入某个值

SQL> conn scott/tigerConnected.SQL> show user;USER is "SCOTT"SQL> create table qq(name varchar2(10),salary number(8,2)); 创建一个表qq,两个段,名字和工资Table created.SQL> select * from qq;  查询表qq的信息no rows selectedSQL> insert into qq(name) valu

Sql Server远程查询db 表中的数据,以本地

step 1: sp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO step 2: insert into table_name columns SELECT columns FROM OPENROWSET('SQLNCLI', 'Server=XXXX,1433;uid=XXXX;pwd=XXXX;Database=