0.背景
mysql8.0+navicat
1.过程
依次执行下面3条sql语句。
CREATE TABLE `test` ( `id` int(7) NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` varchar(50) NOT NULL COMMENT '名称', `pwd` varchar(50) NOT NULL COMMENT '密码', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT='测试表';
DELIMITER $$     -- 写函数之前必须要写
CREATE FUNCTION test_data()
RETURNS INT DETERMINISTIC
BEGIN
	DECLARE num INT DEFAULT 1000000;
	DECLARE i INT DEFAULT 0;
	WHILE i<num DO
		INSERT INTO `test`(`name`,`pwd`)VALUES(CONCAT('用户',i),UUID());
		SET i=i+1;
	END WHILE;
	RETURN i;
END $$
select test_data(); -- 执行函数
执行时间大概是 224.350s