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)文章
Django2.* + Mysql5.7開發(fā)環(huán)境整合教程圖解
這篇文章主要介紹了Django2.* + Mysql5.7開發(fā)環(huán)境整合教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Mysql根據(jù)一個表的數(shù)據(jù)更新另一個表數(shù)據(jù)的SQL寫法(三種寫法)
這篇文章主要介紹了Mysql根據(jù)一個表的數(shù)據(jù)更新另一個表數(shù)據(jù)的SQL寫法,本文給大家分享三種解決方法,需要的朋友可以參考下2023-06-06安裝配置mysql及Navicat prenium的詳細(xì)流程
這篇文章主要介紹了安裝配置mysql及Navicat Premium的詳細(xì)流程,配置方法也真的很簡單,本文給大家詳細(xì)介紹mysql Navicat Premium安裝配置相關(guān)知識感興趣的朋友,一起學(xué)習(xí)吧2021-06-06MySQL中int?(10)?和?int?(11)?的區(qū)別
這篇文章主要介紹了MySQL中int?(10)?和?int?(11)?的區(qū)別,根據(jù)mysql?中整數(shù)數(shù)據(jù)類型、不同類型的取值范圍、不同數(shù)據(jù)類型的默認(rèn)顯示寬度展開對int的介紹,需要的朋友可以參考一下2022-01-01Mysql數(shù)據(jù)庫事務(wù)的臟讀幻讀及不可重復(fù)讀詳解
這篇文章主要為大家介紹了Mysql數(shù)據(jù)庫事務(wù)的臟讀幻讀及不可重復(fù)讀詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05