1. USE Test --使用数据库Test(如果没有则需要新建一个)
  2.  
  3. ----1.新建一个users
  4. create table users(
  5. uId int primary key identity(1,1),
  6. uName varchar(50) null,
  7. uSex bit null default(1),
  8. uPwd varchar(50) null,
  9. uEmail varchar(100) null,
  10. uPwdfindone nvarchar(50) null,
  11. uPwdfindtwo nvarchar(50) null,
  12. uPwdfindthree nvarchar(50) null,
  13. uPwdfindanswer1 nvarchar(50) null,
  14. uPwdfindanswer2 nvarchar(50) null,
  15. uPwdfindanswer3 nvarchar(50) null,
  16. uCity varchar(50) null,
  17. uBirthyear int null,
  18. uBirthmonth int null,
  19. uBirthday int null,
  20. uScore int null,
  21. uRegistertime datetime null default(getdate()),
  22. uRegisterIP varchar(50) null
  23. )
  24. GO
  25.  
  26. ----2.循环向users表插入随机数据
  27. declare @s int --循环起点
  28. declare @n int --年
  29. declare @y int --月
  30. declare @r int --日
  31. declare @h int --时
  32. declare @f int --分
  33. declare @m int --秒
  34. declare @mm int --毫秒
  35. declare @t varchar(30) --注册时间
  36. declare @address varchar(10)--地址
  37. declare @email varchar(20) --邮箱
  38. declare @xb int --性别
  39. declare @xm varchar(20) --姓名
  40. declare @ma varchar(20) --密码
  41. declare @mq1 varchar(20) --密码问题1
  42. declare @mq2 varchar(20) --密码问题2
  43. declare @mq3 varchar(20) --密码问题3
  44. declare @mqa1 varchar(20) --密码答案1
  45. declare @mqa2 varchar(20) --密码答案2
  46. declare @mqa3 varchar(20) --密码答案3
  47. declare @bn int --出生年份
  48. declare @by int --出生月
  49. declare @br int --出生日
  50. declare @fs int --分数
  51. declare @ip1 int --ip地址第1
  52. declare @ip2 int --ip地址第2
  53. declare @ip3 int --ip地址第3
  54. declare @ip4 int --ip地址第4
  55. declare @ip varchar(50) --ip地址
  56. set @s=1 --设置循环起点
  57. while(@s<1000000) --设置循环终点
  58. begin
  59. declare @id varchar(10)
  60. set @id=CAST(@s as varchar(10))
  61. begin --注册时间
  62. set @n=1990+abs(checksum(newid()))%(2014-1990+1)
  63. set @y=1+abs(checksum(newid()))%(12-1+1)
  64. set @r=1+abs(checksum(newid()))%(31-1+1)
  65. if(@y=2)--当前月份是2
  66. begin
  67. if((@n%4=0 and @n%100 <>0) or @n%400=0)--闰年判断
  68. set @r=1+abs(checksum(newid()))%(29-1+1)
  69. else
  70. set @r=1+abs(checksum(newid()))%(28-1+1)
  71. end
  72. else
  73. begin
  74. if(@y%4=0 or @y%6=0 or @y%9=0 or @y%11=0)--46911月最多30
  75. set @r=1+abs(checksum(newid()))%(30-1+1)
  76. end
  77. declare @yy varchar(5)
  78. set @yy=CAST(@y as varchar(5))
  79. if(@y<10)
  80. set @yy='0'+CAST(@y as varchar(5))
  81. declare @rr varchar(5)
  82. set @rr=CAST(@r as varchar(5))
  83. if(@r<10)
  84. set @rr='0'+CAST(@r as varchar(5))
  85. set @h=1+abs(checksum(newid()))%(23-1+1)
  86. set @f=1+abs(checksum(newid()))%(59-1+1)
  87. declare @ff varchar(5)--分,用于格式化分钟
  88. set @ff=CAST(@f as varchar(5))
  89. if(@f<10)
  90. set @ff='0'+CAST(@f as varchar(5))
  91. set @m=1+abs(checksum(newid()))%(59-1+1)
  92. declare @miao varchar(5)--秒,用于格式化秒钟
  93. set @miao=CAST(@m as varchar(5))
  94. if(@m<10)
  95. set @miao='0'+CAST(@m as varchar(5))
  96. set @mm=1+abs(checksum(newid()))%(999-1+1)
  97. set @t=CAST(@n as varchar(5))+'-'+@yy+'-'+@rr+' '+CAST(@h as varchar(5))+':'+@ff+':'+@miao+':'+CAST(@mm as varchar(5))
  98. declare @time datetime
  99. set @time=convert(datetime,@t)
  100. end
  101. begin --城市及邮箱
  102. if(@s%2=0)
  103. begin
  104. set @xb=0
  105. set @email=@id+'@qq.com'
  106. set @address='Guangzhou'
  107. end
  108. else
  109. begin
  110. set @xb=1
  111. set @email=@id+'@msn.com'
  112. set @address='Berlin'
  113. end
  114. if(@s%11=0)
  115. begin
  116. set @email=@id+'@nas.com'
  117. set @address='Strasbourg'
  118. end
  119. if(@s%22=0)
  120. begin
  121. set @email=@id+'@skyweb.com'
  122. set @address='Campinas'
  123. end
  124. if(@s%33=0)
  125. begin
  126. set @email=@id+'@gly.com'
  127. set @address='Xiamen'
  128. end
  129. if(@s%14=0)
  130. begin
  131. set @email=@id+'@bl.com'
  132. set @address='Dalian'
  133. end
  134. if(@s%15=0)
  135. begin
  136. set @email=@id+'@hpjx.com'
  137. set @address='Hangzhou'
  138. end
  139. if(@s%16=0)
  140. begin
  141. set @email=@id+'@rgm.com'
  142. set @address='Wuhan'
  143. end
  144. if(@s%27=0)
  145. begin
  146. set @email=@id+'@tf.com'
  147. set @address='Chengdu'
  148. end
  149. if(@s%58=0)
  150. begin
  151. set @email=@id+'@fj.com'
  152. set @address='Lijiang'
  153. end
  154. if(@s%39=0)
  155. begin
  156. set @email=@id+'@px.com'
  157. set @address='Lyon'
  158. end
  159. end
  160. begin --姓名、性别、密码问题、密码答案等
  161. set @xm='uname'+@id
  162. set @ma='upwd'+@id
  163. set @mq1='upwdfindone'+@id
  164. set @mq2='upwdfindtwo'+@id
  165. set @mq3='upwdfindthree'+@id
  166. set @mqa1='upwd1answer'+@id
  167. set @mqa2='upwd2answer'+@id
  168. set @mqa3='upwd3answer'+@id
  169. set @bn=1980+abs(checksum(newid()))%(1995-1980+1)
  170. set @by=1+abs(checksum(newid()))%(12-1+1)
  171. set @br=1+abs(checksum(newid()))%(31-1+1)
  172. if(@by=2)--当前月份是2
  173. begin
  174. if((@bn%4=0 and @bn%100 <>0) or @bn%400=0)--闰年判断
  175. set @br=1+abs(checksum(newid()))%(29-1+1)
  176. else
  177. set @br=1+abs(checksum(newid()))%(28-1+1)
  178. end
  179. else
  180. begin
  181. if(@by%4=0 or @by%6=0 or @by%9=0 or @by%11=0)--46911月最多30
  182. set @br=1+abs(checksum(newid()))%(30-1+1)
  183. end
  184. set @fs=11+abs(checksum(newid()))%(150-11+1)
  185. end
  186. begin --ip地址
  187. set @ip1=1+abs(checksum(newid()))%(254-1+1)
  188. set @ip2=1+abs(checksum(newid()))%(254-1+1)
  189. set @ip3=1+abs(checksum(newid()))%(254-1+1)
  190. set @ip4=1+abs(checksum(newid()))%(254-1+1)
  191. set @ip=CAST(@ip1 as varchar(5))+'.'+CAST(@ip2 as varchar(5))+'.'+CAST(@ip3 as varchar(5))+'.'+CAST(@ip4 as varchar(5))
  192. end
  193. begin --执行sql语句
  194. insert into users(uName,uSex,uPwd,uEmail,uPwdfindone,uPwdfindtwo,uPwdfindthree,uPwdfindanswer1,uPwdfindanswer2,
  195. uPwdfindanswer3,uCity,uBirthyear,uBirthmonth,uBirthday,uScore,uRegistertime,uRegisterIP)
  196. values(
  197. @xm,@xb,@ma,@email,@mq1,@mq2,@mq3,@mqa1,@mqa2,@mqa3,@address,@bn,@by,@br,@fs,@t,@ip
  198. )
  199. end
  200. set @s+=1
  201. end
  202.  
  203. ----3.检查数据新增是否执行成功
  204. --select * from users

  

Sqlserver新建随机测试数据的更多相关文章

  1. SQLSERVER新建表的时候页面分配情况是怎样的?

    SQLSERVER新建表的时候页面分配情况是怎样的? 再次感谢sqlskill网站和转载sqlskill网站文章并翻译的人,因为您们的转载和翻译让小弟又学习到新的东西o(∩_∩)o 文章中用到的工具: ...

  2. SQL Server创建随机测试数据

    我们在做数据仓库开发的过程中,经常需要插入大量的测试数据来测试数据库查询性能和计算占用的存储空间等.本文主要介绍下不借用第三方的工具在数据库中直接生成大量的测试数据. 需求 每一行包含5个日期字段和一 ...

  3. 如何使用Visual Studio 2010在数据库中生成随机测试数据

    测试在项目中是很重要的一个环节,在Visual Studio 2010中,在测试方面已经有很好的支持了,比如有单元测试,负载测试等等.在数据测试的方面,Visual Studio 2010,还支持对数 ...

  4. sqlserver 新建只读权限用户

    1,新建只能访问某一个表的只读用户. --添加只允许访问指定表的用户:execsp_addlogin'用户名','密码','默认数据库名' --添加到数据库execsp_grantdbaccess'用 ...

  5. SQLServer获取随机数据

    1.比较常见和好用的一种 SELECT TOP 10 *, NEWID() AS randomFROM tableORDER BY random --newid函数会随机生成一个guid,很长的一个字 ...

  6. SqlServer新建视图

    一.使用SQL Server 2005数据库管理系统创建视图 1. 启动SQL Server 2005. 2. 在“对象资源管理器”窗口中找到Student数据库,打开Student文件夹,在“视图” ...

  7. mysql生成随机测试数据

    一个demo: CREATE TABLE dept_InnoDB(  deptno MEDIUMINT NOT NULL DEFAULT 0 ,  dname VARCHAR(20) NOT NULL ...

  8. 图解 SQL-Server新建作业

    1,启动SQL Server代理(SQL Server Agent),如下图所示: 2,右击作业--新建作业--常规--填写作业名称 3,步骤--新建 4,步骤名称--数据库名--要执行的存储过程名 ...

  9. Python生成随机测试数据

    前言 安装 pip install Faker 使用 from faker import Faker fake = Faker() name = fake.name() address = fake. ...

随机推荐

  1. hibernate_boolean类型的处理

    xml方式,直接写就行,hibernate会直接帮你生成: javaBean代码片段: private boolean leaf; public boolean isLeaf() { return l ...

  2. BUG~JS

    2017-11-06 1.没想到啊,这么久了,居然会有这种错误.canvas绘制图片,图片路径出错.drawImage() 解决方法:测试各参数,不单单是要打印出来,还要注意打印的参数是否为有效值

  3. nginx 配置静态资源路径(url不同于static path)

    目的         用nginx做静态资源代理可以减少请求对后台服务器的压力,使响应更加迅速. 配置        情景一           url : 127.0.0.1:8000/images ...

  4. C#控件的Resize事件

    1. 当控件大小发生改变时,就会触发该事件 所以适合动态调整UI的布局, 例如: 国际化,不同语言导致控件长度不同: 控件的内容是动态增加的,也可以使用. 2.必须是大小会发生改变的控件才会触发该事件 ...

  5. 各种数据库maven的pom文件编写与ibernate链接配置

    各种数据库Hibernate链接配置 Derby db driver maven dependency <dependency>         <groupId>org.ap ...

  6. <机器学习实战>读书笔记--logistic回归

    1. 利用logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类. 2.sigmoid函数的分类 Sigmoid函数公式定义 3.梯度上升法    基本思想:要找 ...

  7. Linux原始套接字实现分析---转

    http://blog.chinaunix.net/uid-27074062-id-3388166.html 本文从IPV4协议栈原始套接字的分类入手,详细介绍了链路层和网络层原始套接字的特点及其内核 ...

  8. php 析构函数,构造函数

    php 析构函数,构造函数   <?php /** * 测试使用的PHP操作类 * Date: 2017/7/13 * Time: 14:22 */class Test{ /** 姓名 */ p ...

  9. JavaScript和微信小程序获取IP地址的方法

    最近公司新加了一个需求,根据用户登录的IP地址判断是否重复登录,重复登录就进行逼退,那么怎么获取到浏览器的IP地址呢?最后发现搜狐提供了一个JS接口,可以通过它获取到客户端的IP. 接口地址如下: h ...

  10. laravel5.4学习--laravel目录结构

    Laravel目录结构分析 app目录:主要是存放自己开发的应用代码(里面主要书写 控制器和模型和路由文件) bootstrap目录:laravel启动目录 config目录:主要是存放配置文件信息 ...