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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM