mysql建立儲存過程,模擬插入200萬用戶
公司需要建立模擬使用者測試大資料,百度建立儲存過程模擬插入資料下面是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是模擬的電話號碼。因為還有一個使用者關聯表所以每次迴圈都是兩次插入,這裡你們的插入語句可以根據情況自定義。