指定要插入資料的表,如 tb_info表
建立記憶體表,可以增加插入效率》create tb_info_memory(..);
delimiter // -- 修改mysql delimiter:'//'
drop procedure
ifexists `add_data` //
create
procedure `add_data`(in n int)
begin
declare
iint
default 1;
while i < n do
-- 這裡想記憶體表插入資料
-- 如:insert into `tb_info_memory`(`book_id`,..)values(...);
set i = i + 1;
endwhile;
end
delimiter ; -- 改回預設的 mysql delimiter:';'
呼叫儲存過程call add_data(1000);
這裡生成1000條資料
將資料表插入實際表中
insert
into
`tb_info`
(`book_id`,
..)select * from tb_info_memory;
delimiter //
drop procedure
ifexists
add_data //
create
procedure
add_data
(in n int ,out s longtext)
begin
declare
iint
(6)default 1;
declare v_sql longtext;
set v_sql = concat('insert into `bookdb`.`t`(`id`,`name`)values(',floor(rand()*100),',','''',rand_string(5),'''',')');
while ido
set v_sql = concat(v_sql,',(',floor(rand()*100),',','''',rand_string(5),'''',')');
set i=i+1;
endwhile;
set @s_sql = concat(v_sql);
set s = @s_sql;
prepare stmt from @s_sql;
execute stmt;
deallocate prepare stmt;
enddelimiter ;
--插入並顯示sql
call add_data(30000,@sql_str);
select @sql_str;
Mysql 儲存過程造測試資料
1.mysql 儲存過程造測試資料 建立乙個使用者表 create table sys user id char 32 not null default comment 主鍵 id int 11 not null auto increment comment 主鍵 username varchar ...
mysql儲存過程,作測試資料使用
小弟在此僅作測試用,所以簡單建了個表 1.表結構 create table t user username varchar 50 default null,userpassword varchar 50 default null engine innodb default charset utf8 ...
MySQL通過儲存過程建立測試資料
1.建立儲存過程 2.複製insert語句到儲存過程中 3.替換未隨機變數 4.迴圈 create definer root procedure create users in number int begin 宣告變數 declare uname varchar 20 character set ...