mysql插入大量数据
前言:因工作需要经常插入大量数据进行性能测试,故随手记录方便日后巩固和使用。
1.定义存储过程
DELIMITER $$ USE `ilock`$$ #填写你的数据库 DROP PROCEDURE IF EXISTS `insert_lock`$$ CREATE DEFINER=`root`@`%` PROCEDURE `insert_lock`() BEGIN DECLARE i INT DEFAULT 0; WHILE i <=50 DO INSERT INTO `iodn_lock`(lock_name`,`longitude`,`latitude`,`create_time`,`city_id`,`area_id`) VALUES(CONCAT('500W',i),FLOOR(80 + (RAND() * 40)),FLOOR(22 + (RAND() * 18)),NOW(),80,143); SET i = i + 1; END WHILE; END$$ DELIMITER ;
call insert_lock();
注意:符号一定要看清楚。博主之前被一个符号折腾了半天。`是TAB键上面的符号不是单引号哦。DELIMITER;的引号如果报语法错误就改成$$,这里也让博主耗了不少时间。
说明:i<10000是控制插入数据的条数,本人测试循环插入1万条数据,大概执行时间为1分钟28秒左右。
函数 concat(x,y,z):生成字符进行相加连接
floor(10):生成随机生成小于10的整数
rand():生成随机生成0-1之间的浮点数
now():生成当前日期和时间
随机范围10-200的数字 :floor(10+ rand()*200)
本文来自博客园,作者:Harry_666,转载请注明原文链接:https://www.cnblogs.com/harry66/p/10518956.html