1、脚本示例
这里就是举了一个使用存储过程往用户表里面批量插入数据的例子,思路大体上都差不多。
delimiter //
CREATE PROCEDURE InsertData(IN count int(11))
BEGIN
DECLARE id int default 1;
DECLARE nickname varchar(40);
DECLARE passwd char(40);
DECLARE roleId int(4);
DECLARE gender int(1);
DECLARE status int(1);
DECLARE createtime datetime;
while id<=count do
SET nickname=concat('test', id);/*随机生成用户名*/
SET passwd=sha('123456');/*设置统一的加密密码*/
SET roleId=floor(rand()*7+1);/*随机取1到7之间的整数*/
SET gender=round(rand());/*随机取0和1*/
SET status=round(rand());/*随机取0和1*/
SET createtime=now();/*随机取0和1*/
insert into box.d_users values(id, nickname, passwd, roleId, gender, status, createtime);
SET id=id+1;
END while;
END //
2、执行存储过程
首先连接上mysql,切换到要插入的数据库,调用存储过程,输入要插入的数据条数即可。
连接数据库:mysql -u用户名 -p密码 -P端口 -S socket文件
切换数据库: use 数据库名称;
调用存储过程:call 存储过程名称(输入参数名)
示例:call InsertData(10000);
3、结果展示
一样达到了批量插入数据的效果, 也很简单。