mysql 使用存储过程批量生成数据

生成随机字符串:

CREATE FUNCTION `randomString`(`minLength` int,`maxLength` int) RETURNS char(14) CHARSET utf8mb4 COLLATE utf8mb4_general_ci
BEGIN

	declare idx int;
	declare ret char(14);
	set idx = floor(rand()*(maxLength+1-minLength))+minLength;
	set ret = substring(MD5(uuid()),1,idx);
	return ret;
	
END

生成随机数字:

CREATE FUNCTION `randomInt`(`minLength` int,`maxLength` int) RETURNS int
BEGIN

	return floor(rand()*(maxLength+1-minLength))+minLength;
	
END

使用存储过程插入数据:

CREATE PROCEDURE `batchInsert`(IN loop_time INT)
BEGIN
	DECLARE i INT;
	
	SET i = 0;
	WHILE i < loop_time DO
	insert into course(`name`,`score`) 
	values (randomString(3,6),randomInt(1,100));
	SET i = i + 1;
	END WHILE;
END

 

posted @ 2022-05-26 16:42  Bin_x  阅读(420)  评论(0)    收藏  举报