使用mysql存储过程来造测试数据
创建测试数据表
CREATE TABLE ly_message (
msg_id INT (32),
content VARCHAR (128),
TYPE INT,
creator_id VARCHAR (128),
create_time TIMESTAMP
);
创建存储过程
DELIMITER $$
USE test$$
DROP PROCEDURE IF EXISTS create_data$$
CEATE DEFINER=test@127.0.0.1 PROCEDURE create_data(IN loop_times INT)
BEGIN
DECLARE var INT DEFAULT 0;
WHILE var<loop_times DO
SET var=var+1;
INSERT INTO ly_message (msg_id,content,TYPE,creator_id,create_time)
VALUES (var,CONCAT("cust_",MD5(UUID()),FLOOR(1 + (RAND() * 2))),FLOOR(1 + (RAND() * 2)),MD5(TIME(NOW())+UUID()+RAND()),NOW()) ;
END WHILE;
END$$
DELIMITER ;
实际使用时,需要修改以下几行:
- 第二行:test改成目标表的数据库;
- 第四行:test@127.0.0.1改成实际的用户名和mysql的IP地址
调用存储过程
use test;
delete from ly_message;
call create_data(10000000);
实际使用时,需要修改以下几行:
- 第一行:test,改成目标表的数据库;
- 第三行:10000000,改成测试数据的条数;
喝杯茶,等待执行完成。
最后更新于 2020-05-29 10:57:29 并被添加「mysql 造数据」标签,已有 1883 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭