mysql批量插入数据的函数和存储过程
生活随笔
收集整理的這篇文章主要介紹了
mysql批量插入数据的函数和存储过程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
-- 創(chuàng)建函數(shù)前,設(shè)置 set global log_bin_trust_function_creators=TRUE;
-- 新建函數(shù)-產(chǎn)生隨機的字符串
drop function if exists rand_str;
delimiter ##
create function rand_str(n int) returns varchar(255)
begin declare chars_str varchar(100) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';declare return_str varchar(255) default '';declare i int default 0;while i < n do set return_str=concat(return_str, substring(chars_str, floor(1+rand()*52), 1));set i=i+1;end while;return return_str;
end ##
delimiter ;-- 新建函數(shù)-產(chǎn)生隨機的整數(shù)
drop function if exists rand_num;
delimiter ##
create function rand_num() returns int
begin declare i int default 0;set i=floor(100+rand()*10);return i;
end ##
delimiter ;-- 創(chuàng)建存儲過程,函數(shù)沒法單獨被調(diào)用,只能通過存儲過程進行調(diào)用;
-- 新建存儲過程-調(diào)用函數(shù)批量插入數(shù)據(jù)
drop procedure if exists insert_emp;
delimiter ##
create procedure insert_emp(in start_num int, in max_num int)
begin declare i int default 0;set autocommit=0;repeat set i=i+1;INSERT INTO mybatis.emp_tbl (emp_id, dept_id, name)VALUES(rand_num(), rand_num(), rand_str(20));until i = max_numend repeat;commit;
end ##
delimiter ;-- 批量插入10萬條數(shù)據(jù)以進行壓力測試
call insert_emp(0, 100000)
;
?
總結(jié)
以上是生活随笔為你收集整理的mysql批量插入数据的函数和存储过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台式电脑配置守望先锋(守望先锋电脑最低配
- 下一篇: mysql事务基础+基于innodb的行