USE Test --使用数据库Test(如果没有则需要新建一个)

----1.新建一个users表
create table users(
uId int primary key identity(1,1),
uName varchar(50) null,
uSex bit null default(1),
uPwd varchar(50) null,
uEmail varchar(100) null,
uPwdfindone nvarchar(50) null,
uPwdfindtwo nvarchar(50) null,
uPwdfindthree nvarchar(50) null,
uPwdfindanswer1 nvarchar(50) null,
uPwdfindanswer2 nvarchar(50) null,
uPwdfindanswer3 nvarchar(50) null,
uCity varchar(50) null,
uBirthyear int null,
uBirthmonth int null,
uBirthday int null,
uScore int null,
uRegistertime datetime null default(getdate()),
uRegisterIP varchar(50) null
)
GO ----2.循环向users表插入随机数据
declare @s int --循环起点
declare @n int --年
declare @y int --月
declare @r int --日
declare @h int --时
declare @f int --分
declare @m int --秒
declare @mm int --毫秒
declare @t varchar(30) --注册时间
declare @address varchar(10)--地址
declare @email varchar(20) --邮箱
declare @xb int --性别
declare @xm varchar(20) --姓名
declare @ma varchar(20) --密码
declare @mq1 varchar(20) --密码问题1
declare @mq2 varchar(20) --密码问题2
declare @mq3 varchar(20) --密码问题3
declare @mqa1 varchar(20) --密码答案1
declare @mqa2 varchar(20) --密码答案2
declare @mqa3 varchar(20) --密码答案3
declare @bn int --出生年份
declare @by int --出生月
declare @br int --出生日
declare @fs int --分数
declare @ip1 int --ip地址第1段
declare @ip2 int --ip地址第2段
declare @ip3 int --ip地址第3段
declare @ip4 int --ip地址第4段
declare @ip varchar(50) --ip地址
set @s=1 --设置循环起点
while(@s<1000000) --设置循环终点
begin
declare @id varchar(10)
set @id=CAST(@s as varchar(10))
begin --注册时间
set @n=1990+abs(checksum(newid()))%(2014-1990+1)
set @y=1+abs(checksum(newid()))%(12-1+1)
set @r=1+abs(checksum(newid()))%(31-1+1)
if(@y=2)--当前月份是2月
begin
if((@n%4=0 and @n%100 <>0) or @n%400=0)--闰年判断
set @r=1+abs(checksum(newid()))%(29-1+1)
else
set @r=1+abs(checksum(newid()))%(28-1+1)
end
else
begin
if(@y%4=0 or @y%6=0 or @y%9=0 or @y%11=0)--4、6、9、11月最多30天
set @r=1+abs(checksum(newid()))%(30-1+1)
end
declare @yy varchar(5)
set @yy=CAST(@y as varchar(5))
if(@y<10)
set @yy='0'+CAST(@y as varchar(5))
declare @rr varchar(5)
set @rr=CAST(@r as varchar(5))
if(@r<10)
set @rr='0'+CAST(@r as varchar(5))
set @h=1+abs(checksum(newid()))%(23-1+1)
set @f=1+abs(checksum(newid()))%(59-1+1)
declare @ff varchar(5)--分,用于格式化分钟
set @ff=CAST(@f as varchar(5))
if(@f<10)
set @ff='0'+CAST(@f as varchar(5))
set @m=1+abs(checksum(newid()))%(59-1+1)
declare @miao varchar(5)--秒,用于格式化秒钟
set @miao=CAST(@m as varchar(5))
if(@m<10)
set @miao='0'+CAST(@m as varchar(5))
set @mm=1+abs(checksum(newid()))%(999-1+1)
set @t=CAST(@n as varchar(5))+'-'+@yy+'-'+@rr+' '+CAST(@h as varchar(5))+':'+@ff+':'+@miao+':'+CAST(@mm as varchar(5))
declare @time datetime
set @time=convert(datetime,@t)
end
begin --城市及邮箱
if(@s%2=0)
begin
set @xb=0
set @email=@id+'@qq.com'
set @address='Guangzhou'
end
else
begin
set @xb=1
set @email=@id+'@msn.com'
set @address='Berlin'
end
if(@s%11=0)
begin
set @email=@id+'@nas.com'
set @address='Strasbourg'
end
if(@s%22=0)
begin
set @email=@id+'@skyweb.com'
set @address='Campinas'
end
if(@s%33=0)
begin
set @email=@id+'@gly.com'
set @address='Xiamen'
end
if(@s%14=0)
begin
set @email=@id+'@bl.com'
set @address='Dalian'
end
if(@s%15=0)
begin
set @email=@id+'@hpjx.com'
set @address='Hangzhou'
end
if(@s%16=0)
begin
set @email=@id+'@rgm.com'
set @address='Wuhan'
end
if(@s%27=0)
begin
set @email=@id+'@tf.com'
set @address='Chengdu'
end
if(@s%58=0)
begin
set @email=@id+'@fj.com'
set @address='Lijiang'
end
if(@s%39=0)
begin
set @email=@id+'@px.com'
set @address='Lyon'
end
end
begin --姓名、性别、密码问题、密码答案等
set @xm='uname'+@id
set @ma='upwd'+@id
set @mq1='upwdfindone'+@id
set @mq2='upwdfindtwo'+@id
set @mq3='upwdfindthree'+@id
set @mqa1='upwd1answer'+@id
set @mqa2='upwd2answer'+@id
set @mqa3='upwd3answer'+@id
set @bn=1980+abs(checksum(newid()))%(1995-1980+1)
set @by=1+abs(checksum(newid()))%(12-1+1)
set @br=1+abs(checksum(newid()))%(31-1+1)
if(@by=2)--当前月份是2月
begin
if((@bn%4=0 and @bn%100 <>0) or @bn%400=0)--闰年判断
set @br=1+abs(checksum(newid()))%(29-1+1)
else
set @br=1+abs(checksum(newid()))%(28-1+1)
end
else
begin
if(@by%4=0 or @by%6=0 or @by%9=0 or @by%11=0)--4、6、9、11月最多30天
set @br=1+abs(checksum(newid()))%(30-1+1)
end
set @fs=11+abs(checksum(newid()))%(150-11+1)
end
begin --ip地址
set @ip1=1+abs(checksum(newid()))%(254-1+1)
set @ip2=1+abs(checksum(newid()))%(254-1+1)
set @ip3=1+abs(checksum(newid()))%(254-1+1)
set @ip4=1+abs(checksum(newid()))%(254-1+1)
set @ip=CAST(@ip1 as varchar(5))+'.'+CAST(@ip2 as varchar(5))+'.'+CAST(@ip3 as varchar(5))+'.'+CAST(@ip4 as varchar(5))
end
begin --执行sql语句
insert into users(uName,uSex,uPwd,uEmail,uPwdfindone,uPwdfindtwo,uPwdfindthree,uPwdfindanswer1,uPwdfindanswer2,
uPwdfindanswer3,uCity,uBirthyear,uBirthmonth,uBirthday,uScore,uRegistertime,uRegisterIP)
values(
@xm,@xb,@ma,@email,@mq1,@mq2,@mq3,@mqa1,@mqa2,@mqa3,@address,@bn,@by,@br,@fs,@t,@ip
)
end
set @s+=1
end ----3.检查数据新增是否执行成功
--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. 【chrome】设置chrome允许WebGL从本地载入资源

    找到chrome安装路径,然后创建一个快捷方式,右击该快捷方式,在 目标 输入框中加上-allow-file-access-from-files(前面加个空格),通过该快捷方式打开chrome就可以通 ...

  2. linux 打包 压缩 解压缩

    gzip gzip xxx文件 压缩文件xxx,后缀.gz 并且删除原来文件 gzip -tv xxx.gz 测试压缩文件压完整性 压缩当前文件夹所有文件: zip -r ./1.zip ./* -r ...

  3. 很乱,临时保存,自定义v-model

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. Hive初始

    一.Hive概念 二.为什么要是用Hive 三.Hive优缺点 四.hive架构 一.Hive概念 Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的 ...

  5. springboot-20-全局异常处理

    springboot的全局异常处理 . 新建一个类GlobalDefaultExceptionHandler 在class上注解 @ControllerAdvice 方法上注解 @ExceptionH ...

  6. tomcat主页打不开,tomcat manager 配置,Failed to start component [StandardEngine[Catalina].

    Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Serv]] ...

  7. JAVA练手--文件操作

    1. File类 主要作用:用于文件和文件夹的创建.查找.删除等操作 public static void main(String[] args) throws IOException { File ...

  8. IOS Core Image之二

    在上篇博客IOS Core Image之一中了解了下CIImage.CIFilter.CIContext三个类的使用,这篇了解下滤镜链(多滤镜)和人脸检测(不是人脸识别). 一.多滤镜 1.有些效果不 ...

  9. [转]flash.net.Socket

    本文转自:http://designstacks.net/actionscript-3-new-capabilities http://help.adobe.com/en_US/ActionScrip ...

  10. ASP.NET 中HttpRuntime.Cache缓存数据

    最近在开始一个微信开发,发现微信的Access_Token获取每天次数是有限的,然后想到缓存,正好看到微信教程里面推荐HttpRuntime.Cache缓存就顺便看了下. 写了(Copy)了一个辅助类 ...