mysql 存储过程 实现百万测试数据
DROP PROCEDURE IF EXISTS pro; # 如果存在存储过程就先删除
CREATE PROCEDURE pro() # 创建存储过程
BEGIN
DECLARE i INT; # 定义一个变量用来计数
DECLARE _no INT; # 定义一个变量用来计数参数化学号
DECLARE _name VARCHAR(25); # 定义一个变量用来计数参数化用户名
DECLARE _sex CHAR(2); # 定义一个变量用来计数参数化性别
DECLARE _phone CHAR(11); # 定义一个变量用来计数参数化手机号
DECLARE _class VARCHAR(25); # 定义一个变量用来计数参数化班级
SET i = 1; #设置计时器的初始值为1
WHILE i <= 1000000 do # while循环控制插入数据的次数
SET _no = 301 + i; -- 拼接学号,i为变化的保证学号的差异性
SET _name = CONCAT('张三',i); -- 拼接用户名, i为变化的保证用户名的差异性
SET _sex = '男'; -- 赋值性别
SET _phone = 13000001110 + i; -- 拼接手机号, i为变化的保证手机号的差异性
SET _class = '三班'; -- 赋值班级
INSERT INTO student(stuno, stuname, stusex, stuphone, stuclass) VALUES(_no, _name, _sex, _phone, _class); -- 插入数据到表中
SET i = i + 1; # 每次循环计时器加1
END WHILE;
END;
CALL pro(); -- 运行存储过程