数据构造之存储过程

本文介绍了一种使用MySQL存储过程批量生成数据的方法。通过构建简单的存储过程,可以在perf_teach数据库的teacher表中快速生成大量测试数据。文章详细展示了如何定义循环及条件判断等基本流程控制语句来构造数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

===============================================================================================================

性能测试经常需要造大批量数据,这里笔记下存储过程造数据。

这里的以perf_teach数据库为例

用navicate premium 客户端 ,连库,进入perf_teach库的teacher表,点击菜单栏的函数-新建函数-选择‘过程’类型,然后‘完成’,出现如下界面:

BEGIN
    #Routine body goes here...

END;

========================================

然后便可以进行简单逻辑的数据构造:

Mysql:jdbc
Mysql:存储过程

存储过程是运行的mysql服务器端的一些程序,单线程 直接与数据库交互

这里以某库(perf_teach)的teacher表为例,插入数据。

BEGIN
  DECLARE i INT DEFAULT 1;
  DECLARE p_sex VARCHAR(5);
  -- WHILE循环
  WHILE i<10000 DO
  if i%2=0 THEN
     SET p_sex = 'M';
  ELSE
     SET p_sex = 'W';
  END IF;
INSERT INTO teacher (name,sex,age,course,created,modified)         VALUES(CONCAT('teacher_',FLOOR(RAND()*10000)),p_sex,FLOOR(RAND()*1000),'math',NOW(),NOW());
  SET i=i+1;
  END WHILE;

END

然后保存以上存储过程(保存为test),如果保存顺利说明存储过程没有报错,否侧保存失败并报错。


在Linux环境下 mysql中查看创建的存储过程:
show procedure status;
SHOW CREATE PROCEDURE perf_teach.test; -- (库名.存储名)

在mysql中执行存储过程:

call test;

select count(1) from teacher 会发现库里多了10000条数据。

当然还有复杂关系的存储过程,表与表有关联关系的,这里只是最简单的存储过程的建立。

========================================================================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值