Sqlserver建立測試資料

來源:互聯網
上載者:User

標籤:new   int   values   var   rom   com   val   key   ima   

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<1000) --設定迴圈終點
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))+‘-‘[email protected]+‘-‘[email protected]+‘ ‘+CAST(@h as varchar(5))+‘:‘[email protected]+‘:‘[email protected]+‘:‘+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 protected]+‘@qq.com‘
set @address=‘Guangzhou‘
end
else
begin
set @xb=1
set @[email protected]+‘@msn.com‘
set @address=‘Berlin‘
end
if(@s%11=0)
begin
set @[email protected]+‘@nas.com‘
set @address=‘Strasbourg‘
end
if(@s%22=0)
begin
set @[email protected]+‘@skyweb.com‘
set @address=‘Campinas‘
end
if(@s%33=0)
begin
set @[email protected]+‘@gly.com‘
set @address=‘Xiamen‘
end
if(@s%14=0)
begin
set @[email protected]+‘@bl.com‘
set @address=‘Dalian‘
end
if(@s%15=0)
begin
set @[email protected]+‘@hpjx.com‘
set @address=‘Hangzhou‘
end
if(@s%16=0)
begin
set @[email protected]+‘@rgm.com‘
set @address=‘Wuhan‘
end
if(@s%27=0)
begin
set @[email protected]+‘@tf.com‘
set @address=‘Chengdu‘
end
if(@s%58=0)
begin
set @[email protected]+‘@fj.com‘
set @address=‘Lijiang‘
end
if(@s%39=0)
begin
set @[email protected]+‘@px.com‘
set @address=‘Lyon‘
end
end
begin --姓名、性別、密碼問題、密碼答案等
set @xm=‘uname‘[email protected]
set @ma=‘upwd‘[email protected]
set @mq1=‘upwdfindone‘[email protected]
set @mq2=‘upwdfindtwo‘[email protected]
set @mq3=‘upwdfindthree‘[email protected]
set @mqa1=‘upwd1answer‘[email protected]
set @mqa2=‘upwd2answer‘[email protected]
set @mqa3=‘upwd3answer‘[email protected]
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建立測試資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.