mysql批量插入数据的函数和存储过程
生活随笔
收集整理的這篇文章主要介紹了
mysql批量插入数据的函数和存储过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-- 創建函數前,設置 set global log_bin_trust_function_creators=TRUE;
-- 新建函數-產生隨機的字符串
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 ;-- 新建函數-產生隨機的整數
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 ;-- 創建存儲過程,函數沒法單獨被調用,只能通過存儲過程進行調用;
-- 新建存儲過程-調用函數批量插入數據
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萬條數據以進行壓力測試
call insert_emp(0, 100000)
;
?
總結
以上是生活随笔為你收集整理的mysql批量插入数据的函数和存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台式电脑配置守望先锋(守望先锋电脑最低配
- 下一篇: mysql事务基础+基于innodb的行