MySql批量插入資料 儲存過程

2021-07-10 03:24:57 字數 876 閱讀 9843

/* 批量插入儲存過程 */

create procedure auto_insert(in indexs int,in loops int)

begin

declare v_sql longtext;

set v_sql = "insert into t_info(name,time) values";

while(indexs <= loops) do

/* 合併sql */

if(indexs != loops) then

set v_sql = concat(v_sql, "('", concat('anquan--',indexs), "',now()),");

else

set v_sql = concat(v_sql, "('", concat('anquan--',indexs), "',now());");

end if;

set indexs = indexs+1;

end while;

set @v_sql=v_sql;/* 注意很重要,將連成成的字串賦值給乙個變數(可以之前沒有定義,但要以@開頭)*/

prepare stmt from @v_sql;/* 預處理需要執行的動態sql,其中stmt是乙個變數*/

execute stmt;      /* 執行sql語句*/

deallocate prepare stmt;    /* 釋放掉預處理段*/

/* 列印sql */

select v_sql;

end;

/* 呼叫 */

call auto_insert(1,100);

/* 刪除 */

drop procedure auto_insert;

mysql利用儲存過程批量插入資料

最近需要測試一下mysql單錶資料達到1000w條以上時增刪改查的效能。由於沒有現成的資料,因此自己構造,本文只是例項,以及簡單的介紹。首先當然是建表 create table fortest id int 30 unsigned not null auto increment primary ke...

mysql批量插入資料方法 非儲存過程

insert插入多條資料有二種方法一種是寫多條insert 語句用 號分割每條sql,一種是insert本身的多個value 1,寫多條insert用 分割 這個很簡單,號是mysql執行sql的結束符,寫多個insert用 號割就是讓mysql執行多次而已.比如 insert into table...

mysql利用儲存過程批量插入一千萬資料(半小時)

示例 向user表中插入一千萬條資料,其中user id11位手機號隨機,可以重複 age為18 27之間 count隨機金額,八位小數 status二百萬資料為1,八百萬資料為0。如果該名字儲存過程已存在,則刪除 drop procedure ifexists proc initdata1 建立 ...