
MySQL创建存储过程,使用while循环插入数据
发布日期:2021-05-07 14:52:09
浏览次数:24
分类:精选文章
本文共 1517 字,大约阅读时间需要 5 分钟。
MySQL创建存储过程,使用while循环插入数据
// 删除已有的user表DROP TABLE IF EXISTS `user`; // 创建新的user表CREATE TABLE `user` ( `userId` INT (11) NOT NULL AUTO_INCREMENT, `userLoginAccount` INT (255) NOT NULL, `userPassword` VARCHAR (255) DEFAULT '1234', `userName` INT (255) DEFAULT NULL, `userAge` INT (25) DEFAULT NULL, PRIMARY KEY (`userId`), UNIQUE KEY `userLoginAccount` (`userLoginAccount`)) ENGINE = INNODB AUTO_INCREMENT = 11 DEFAULT CHARSET = utf8; // 删除已有的存储过程 DROP PROCEDURE IF EXISTS insertdata; // 查阅user表desc user;
1.定义存储过程
// 定义结束符为 $$ delimiter $$ create procedure insertdata() // 创建新的存储过程 -> begin -> declare i int default 0; // 变量声明 -> while i < 10 do // 循环体 // 插入数据 -> INSERT INTO user (userLoginAccount,userPassword,userName,userAge) VALUE (i , '4321' , i , 5 ) ; -> set i = i + 1; // 迭代条件 -> end while; // 结束循环 -> end $$ // 结束存储过程
2.调用存储过程
// 重定义结束符delimiter; // 调用存储过程call insertdata(); // 查看存储数据select * from user;
3.创建带参数的存储过程
create PROCEDURE insertToUserMessage (num int) begin declare i int default 0; WHILE i < num do INSERT INTO osmcs_user_message (message_type,title ,from_user_id ,to_user_id,send_time ,read_time,reply_to_comment ,reply_to_message,is_delete,is_read,file_id,file_name,file_path,file_size,soft_id,soft_name) VALUES (6, '@admin;再次确认', 1, 1, now(), now(), 549, null, 0, 0, null, null, null, null, 483, 'Linux'); SET i = i + 1; END while; end ; call insertToUserMessage(50000);
到此简单的存储过程就创建完成了,动动你的手指亲自试验一下吧!!!