mysql建立存储过程,模拟插入200万用户

3/7/2017来源:SQL技巧人气:2691

公司需要建立模拟用户测试大数据,百度建立存储过程模拟插入数据下面是sql代码

CREATE PROCEDURE test()  begin  declare var int; declare a int; declare mobile bigint; SET var =1; WHILE var<=2000000 DO SET mobile = 15063000000+var; INSERT INTO users(user_name,`passWord`,reg_time,mobile_phone,is_validated,froms,birthday,sex,headimg)  VALUES( CONCAT('tes',var),'550e1bafe077ff0b0b67f6e2f29cr51',UNIX_TIMESTAMP(),mobile,1,'APP',1483758852,2,'images/image/20170222155743.png'); SET a =  LAST_INSERT_ID(); INSERT INTO user_info(uid,`nickname`,birth,sex,avatar,user_city)  VALUES( a,CONCAT('tes',var),1483758852,'男','images/image/20170222155743.png',2004); set var =var+1; end WHILE; end

运行完语句后会建立相关的存储过程,需要执行语句 call test()才可以执行插入操作。注意:建立存储过程语句和call执行语句必须分开执行,创建存储过程语句成功后,再执行调用存储过程语句(call test())。

CREATE PROCEDURE test() 代表建立存储过程。test未存储过程的名字可以自定义但必须是唯一的存储过程名,括号中可以写自定义变量,我没有用到就没写。

begin和end之间的为存储过程要执行的sql语句

我这里因为需要插入200万条用户写了一个while循环,moblie是模拟的电话号码。因为还有一个用户关联表所以每次循环都是两次插入,这里你们的插入语句可以根据情况自定义。