Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)
Mysql 循環(huán)插入數(shù)據(jù)
說(shuō)明:首先需要設(shè)置delimiter。
delimiter的作用:告訴解釋器,這段命令是否已經(jīng)結(jié)束了,mysql是否可以執(zhí)行了
默認(rèn)情況下,delimiter是‘;’但是當(dāng)我們編寫procedure時(shí),如果是默認(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è)置好了存儲(chǔ)過(guò)程要執(zhí)行調(diào)用才生效
CALL callback();
其他基本命令
查看表
DESC USER; SHOW FULL FIELDS FROM user;
查看表索引
SHOW KEYS FROM USER; SHOW index FROM USER;
清空表
DELETE FROM USER;
查看指定庫(kù)中的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)用存儲(chǔ)過(guò)程(callback是自己命名的)
CALL callback();
刪除存儲(chǔ)過(guò)程(callback是自己命名的)
DROP PROCEDURE callback;
Mysql 循環(huán)插入10000條數(shù)據(jù)
因?yàn)轫?xiàng)目用user和data兩張表,把user中的部分字段拆分到data中,這樣兩表都要通過(guò)user_id關(guān)聯(lián)起來(lái)(作為兩表主鍵),當(dāng)注冊(cè)新用戶時(shí)只往use表寫入了user_id,data表無(wú)法同時(shí)寫入user_id,這樣會(huì)導(dǎo)致用戶無(wú)法修改資料。
1.所以按自己想法,寫個(gè)循環(huán)1W次隨便插入數(shù)據(jù)測(cè)試
DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存儲(chǔ)過(guò)程則刪掉
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í)行過(guò)程

a、第三行開(kāi)始正式插入10000條數(shù)據(jù),結(jié)果顯示耗時(shí) 32.453秒
b、第四行驗(yàn)證插入是否成功,Mysql WorkBench限制只返回了1000條數(shù)據(jù)

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL 5.7安裝中的常見(jiàn)問(wèn)題分析及解決方案
在Linux服務(wù)器上安裝MySQL數(shù)據(jù)庫(kù)時(shí),尤其是在CentOS 7等操作系統(tǒng)上,可能會(huì)遇到一些安裝包和依賴關(guān)系相關(guān)的錯(cuò)誤,這些問(wèn)題的產(chǎn)生原因可以是多個(gè)方面,本文將通過(guò)對(duì)具體錯(cuò)誤的分析和解決方案的闡述,幫助大家快速解決在安裝MySQL 5.7版本過(guò)程中可能遇到的問(wèn)題2024-11-11
MySql官方手冊(cè)學(xué)習(xí)筆記1 MySql簡(jiǎn)單上手
這是我學(xué)習(xí)MySql 5.1時(shí)做的一些整理與筆記,希望能理一理自己學(xué)到的東西,如果能有助于各位同道學(xué)習(xí)MySql那就更是意外之喜了,呵呵2012-10-10
MySQL批量導(dǎo)入Excel數(shù)據(jù)(超詳細(xì))
這篇文章主要介紹了MySQL批量導(dǎo)入Excel數(shù)據(jù)(超詳細(xì)),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-08-08
windows系統(tǒng)mysql5.7.18安裝圖文教程
這篇文章主要為大家詳細(xì)介紹了windows系統(tǒng)下mysql5.7.18安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
MySQL?8.0自增變量的持久化問(wèn)題小結(jié)
MySQL5.7中自增主鍵在重啟后會(huì)重置,而MySQL8.0中通過(guò)重做日志持久化自增變量,避免重啟后主鍵沖突,本文介紹MySQL?8.0自增變量的持久化問(wèn)題小結(jié),感興趣的朋友一起看看吧2024-11-11
解決windows service 2012阿里云服務(wù)器在搭建mysql時(shí)缺少msvcr100.dll文件的問(wèn)題
這篇文章主要介紹了解決windows service 2012阿里云服務(wù)器在搭建mysql時(shí)缺少msvcr100.dll文件的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
MySQL控制流函數(shù)(-if?,elseif,else,case...when)
這篇文章主要介紹了MySQL控制流函數(shù)(-if?,elseif,else,case...when),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07

