mysql通过存储过程批量造测试数据

--创建表t_user;

drop TABLE t_user;
CREATE TABLE `t_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` tinyint(4) DEFAULT NULL,
  `phone` char(11) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `name_cipher`  varchar(255) DEFAULT NULL,
  `age_cipher` varchar(255) DEFAULT NULL,
  `phone_cipher` varchar(255)  DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--截断表t_user;

--创建存储过程,批量插入数据。

TRUNCATE t_user;
delimiter //
DROP PROCEDURE IF EXISTS proc_batch_insert;
CREATE PROCEDURE proc_batch_insert()
BEGIN
DECLARE pre_name BIGINT;
DECLARE ageVal INT;
DECLARE phoneVAL BIGINT;
DECLARE i INT;
SET pre_name=19000100;
SET phoneVAL=13923454321;
SET ageVal=100;
SET i=1;
WHILE i <= 100 DO
        INSERT INTO t_user(`name`,age,phone,create_time,update_time) VALUES(CONCAT(pre_name,'@139.com'),(ageVal+i)%30,(phoneVAL+i),NOW(),NOW());
SET pre_name=pre_name+2;
SET i=i+1;
END WHILE;
END //
 
delimiter ;
call proc_batch_insert();

猜你喜欢

转载自blog.csdn.net/qyq88888/article/details/119962479