Mysql脚本循环批量插入数组数据
·首次写博客,不知道说点啥,直接上点干货,希望大家指出不足之处,共同进步。
涉及到Mysql知识点
存储过程、嵌套循环、mysql数组概念、变量、截取字符串、字符串去掉指定字符
脚本研究背景
测试小伙伴需要大量压测数据,而且需要用户ID和mobile对应起来。四处百度以及问了熟悉mysql数据库的朋友,然后整理了下面的脚本,与君分享。
Mysql完整脚本
/*数据表中涉及到某一列必填唯一值,唯一值的处理*/
-- 清除ordersn中唯一值时间的小数点
update ecjia_order_info set order_sn = REPLACE(order_sn,'.','') where order_sn like '%.%';
-- 批量创建数据
drop procedure if exists perorder;
delimiter //
create procedure perorder()
begin
declare userstr TEXT;
declare commanum int;/*数组长度*/
declare i int default 1;
declare j int default 0;
declare uid int default 0;
declare mobile varchar(16) default '1';
set userstr="600_18702725261,601_18702725262,602_18702725263,603_18702725264,604_18702725265,605_18702725266,606_18702725267,607_18702725268,608_18702725269,609_18702725270,610_18702725271,611_18702725272,612_18702725273,613_18702725274,614_18702725275,615_18702725276,616_18702725277,617_18702725278,618_18702725279";
/*数组长度=逗号个数+1*/
select length(userstr) - length(REPLACE(userstr,',',''))+1 into @commanum