欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql循環(huán)插入數(shù)據(jù)的實現(xiàn)

 更新時間:2022年08月17日 11:20:34   作者:new?楊海波  
這篇文章主要介紹了Mysql循環(huán)插入數(shù)據(jù)的實現(xiàn)過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mysql 循環(huán)插入數(shù)據(jù)

說明:首先需要設(shè)置delimiter。

delimiter的作用:告訴解釋器,這段命令是否已經(jīng)結(jié)束了,mysql是否可以執(zhí)行了

默認(rèn)情況下,delimiter是‘;’但是當(dāng)我們編寫procedure時,如果是默認(rèn)設(shè)置,那么一遇到‘;’,mysql就要執(zhí)行。

WHILE…DO方式

/*循環(huán)插入*/
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;?
//

設(shè)置好了存儲過程要執(zhí)行調(diào)用才生效

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;

查看創(chuàng)建代碼

SHOW CREATE PROCEDURE callback;

調(diào)用存儲過程(callback是自己命名的)

CALL callback();

刪除存儲過程(callback是自己命名的)

DROP PROCEDURE callback;

Mysql 循環(huán)插入10000條數(shù)據(jù)

因為項目用user和data兩張表,把user中的部分字段拆分到data中,這樣兩表都要通過user_id關(guān)聯(lián)起來(作為兩表主鍵),當(dāng)注冊新用戶時只往use表寫入了user_id,data表無法同時寫入user_id,這樣會導(dǎo)致用戶無法修改資料。

1.所以按自己想法,寫個循環(huán)1W次隨便插入數(shù)據(jù)測試

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();

2.執(zhí)行過程

a、第三行開始正式插入10000條數(shù)據(jù),結(jié)果顯示耗時 32.453秒

b、第四行驗證插入是否成功,Mysql WorkBench限制只返回了1000條數(shù)據(jù)

c、第五行驗證1000條以外的數(shù)據(jù)是否插入成功,返回了1行 user_id = 5231,成功插入!

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論