您好,登錄后才能下訂單哦!
本篇內容主要講解“Mysql循環插入數據如何實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Mysql循環插入數據如何實現”吧!
說明:首先需要設置delimiter。
delimiter的作用:告訴解釋器,這段命令是否已經結束了,mysql是否可以執行了
默認情況下,delimiter是‘;’但是當我們編寫procedure時,如果是默認設置,那么一遇到‘;’,mysql就要執行。
/*循環插入*/ DELIMITER // CREATE PROCEDURE callback() BEGIN DECLARE num INT; SET num = 100; WHILE num < 300 DO INSERT INTO t_user(user_loginName,user_password,user_name,user_gender,user_email,user_gradeValueInt) VALUES(CONCAT("YuWang", num),CONCAT("pwd", num),CONCAT("YuWang", num),"男","1024@qq.com",num); SET num = num + 1; END WHILE; END; //
設置好了存儲過程要執行調用才生效
CALL callback();
查看表
DESC USER; SHOW FULL FIELDS FROM user;
查看表索引
SHOW KEYS FROM USER; SHOW index FROM USER;
清空表
DELETE FROM USER;
查看指定庫中的PROCEDURE
SELECT NAME FROM mysql.proc WHERE db = ‘test' AND TYPE = ‘PROCEDURE';
刪除指定PROCEDURE
DROP PROCEDURE IF EXISTS callback;
查看創建代碼
SHOW CREATE PROCEDURE callback;
調用存儲過程(callback是自己命名的)
CALL callback();
刪除存儲過程(callback是自己命名的)
DROP PROCEDURE callback;
因為項目用user和data兩張表,把user中的部分字段拆分到data中,這樣兩表都要通過user_id關聯起來(作為兩表主鍵),當注冊新用戶時只往use表寫入了user_id,data表無法同時寫入user_id,這樣會導致用戶無法修改資料。
DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存儲過程則刪掉 DELIMITER $ CREATE PROCEDURE proc_initData() BEGIN DECLARE i INT DEFAULT 1; WHILE i<=10000 DO INSERT INTO data(user_id) VALUES(i); SET i = i+1; END WHILE; END $ CALL proc_initData();
a、第三行開始正式插入10000條數據,結果顯示耗時 32.453秒
b、第四行驗證插入是否成功,Mysql WorkBench限制只返回了1000條數據
c、第五行驗證1000條以外的數據是否插入成功,返回了1行 user_id = 5231,成功插入!
到此,相信大家對“Mysql循環插入數據如何實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。