利用随机批量产生数据

当我们想要很多数据量测试的时候,往往无力去添加大部分数据。今天我在这边就给大家介绍一个关于利随机产生大批量数据的技巧。

  1. 首先创建表
     1 IF NOT EXISTS(SELECT 1 FROM SysObjects WHERE ID = OBJECT_ID(N'骨牌存储箱'))
     2 CREATE TABLE 骨牌存储箱
     3 (
     4     骨牌编号 INT IDENTITY(1,1) NOT NULL,
     5     骨牌颜色 VARCHAR(10) NOT NULL,
     6     骨牌类型 VARCHAR(10) NOT NULL,
     7     骨牌价格 NUMERIC(10,2) NOT NULL,
     8     骨牌重量 NUMERIC(10,2) NOT NULL,
     9     生产日期 DATETIME NOT NULL,
    10 )
    11 GO
    View Code
  2. 然后利用随机产生大量数据
     1 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
     2 VALUES
     3 (SUBSTRING('红橙黄绿青蓝紫',CONVERT(INT,CEILING(RAND()*7)),1) -- 七种颜色随机取一种
     4 ,'石英' -- 材质,因为价格相关,无法随机
     5 ,1.30 -- 根据骨牌类型定价格,石英为1.30元
     6 ,CONVERT(NUMERIC(10,2),RAND()*1) + 10 -- 重量在10.0~10.9随机
     7 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
     8 )
     9 GO 1000
    10 
    11 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
    12 VALUES
    13 (SUBSTRING('红橙黄绿青蓝紫',CONVERT(INT,CEILING(RAND()*7)),1) -- 七种颜色随机取一种
    14 ,'木材' -- 材质,因为价格相关,无法随机
    15 ,2.20 -- 根据骨牌类型定价格,木材为2.20元
    16 ,CONVERT(NUMERIC(10,2),RAND()*1) + 3 -- 重量在3.0~3.9随机
    17 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
    18 )
    19 GO 1000
    20 
    21 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
    22 VALUES
    23 (SUBSTRING('白黄黑',CONVERT(INT,CEILING(RAND()*3)),1) -- 三种颜色随机取一种
    24 ,'骨头' -- 材质,因为价格相关,无法随机
    25 ,199.00 -- 根据骨牌类型定价格,石英为1.30元
    26 ,CONVERT(NUMERIC(10,2),RAND()*1) + 8 -- 重量在8.0~8.9随机
    27 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
    28 )
    29 GO 1000
    30 
    31 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
    32 VALUES
    33 (SUBSTRING('白黄黑',CONVERT(INT,CEILING(RAND()*3)),1) -- 三种颜色随机取一种
    34 ,'塑料' -- 材质,因为价格相关,无法随机
    35 ,1.00 -- 根据骨牌类型定价格,塑料为1.00元
    36 ,CONVERT(NUMERIC(10,2),RAND()*1) + 3 -- 重量在3.0~3.9随机
    37 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
    38 )
    39 GO 1000
    40 
    41 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
    42 VALUES
    43 (SUBSTRING('红橙黄绿青蓝紫',CONVERT(INT,CEILING(RAND()*7)),1) -- 七种颜色随机取一种
    44 ,'石英' -- 材质,因为价格相关,无法随机
    45 ,1.30 -- 根据骨牌类型定价格,石英为1.30元
    46 ,CONVERT(NUMERIC(10,2),RAND()*1) + 10 -- 重量在10.0~10.9随机
    47 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
    48 )
    49 GO 1000
    50 
    51 INSERT INTO 骨牌存储箱(骨牌颜色,骨牌类型,骨牌价格,骨牌重量,生产日期)
    52 VALUES
    53 (SUBSTRING('红橙黄绿青蓝紫',CONVERT(INT,CEILING(RAND()*7)),1) -- 七种颜色随机取一种
    54 ,'木材' -- 材质,因为价格相关,无法随机
    55 ,2.20 -- 根据骨牌类型定价格,石英为1.30元
    56 ,CONVERT(NUMERIC(10,2),RAND()*1) + 10 -- 重量在10.0~10.9随机
    57 ,DATEADD(DAY,FLOOR(RAND()* 365),'2015-01-01') -- 生产日期从2015-01-01日期随机一天
    58 GO 1000
    View Code
  3. 然后得出结果
  4. 2016-04-05
     1 CREATE TABLE 客户
     2 (
     3     客户编号 INT IDENTITY(1,1) NOT NULL,
     4     客户姓名 VARCHAR(10) NOT NULL,
     5     客户性别 CHAR(2) NOT NULL,
     6     客户地址 VARCHAR(10) NOT NULL,
     7     客户生日 DATE NOT NULL,
     8     客户电话 VARCHAR(12) NOT NULL,
     9 )
    10 GO
    11 INSERT INTO 客户(客户姓名,客户性别,客户地址,客户生日,客户电话)
    12 SELECT '张三','','湖南',CONVERT(DATE,'1986-10-11'),'13589888862'
    13 UNION ALL
    14 SELECT '李四','','湖北',CONVERT(DATE,'1987-05-26'),'13085628876'
    15 UNION ALL
    16 SELECT '王二','','南京',CONVERT(DATE,'1985-06-15'),'18085985379'
    17 UNION ALL
    18 SELECT '小明','','北京',CONVERT(DATE,'1990-07-24'),'13148668213'
    View Code

     

转载于:https://www.cnblogs.com/C-1989/p/5337695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值