MySQL的存储过程
一、概述
1:是一种用来处理数据的方式,存储过程是一种没有返回值的函数
2:存储过程和函数是事先经过编译并存储在数据库的一段SQL语句的集合,调用存储过程和函数可以简化开发人员的许多工作,减少时间在数据库和应用服务器直接的传输,能够提高数据处理的效率
3:存储过程和函数的区别在于存储函数必须有返回值,而存储过程没有返回值,但是存储过程的参数可以使用IN,OUT,INOUT类型(可以通过OUT和INOUT向外传出数据),而存储函数的参数只能是IN类型的,如果有函数从其他类型的数据库迁移到MySQL,那么就可能需要将函数改为存储过程。
二:业务准备
业务:向t_copy表插入100个用户(从id为15之后开始)
创建表
CREATE TABLE user(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(50)
)CHARSET utf8;
三:创建存储过程,存储大概花了14min时间
DELIMITER $$
CREATE PROCEDURE user_copy()
BEGIN
SET @i=1;
WHILE @i<30000 DO
INSERT INTO user(NAME) VALUES(CONCAT("user",@i)); --拼接USER 和i值
SET @i=@i+1; --防止成为死循环
END WHILE; --结束循环
END $$ --结束自定义结束符
DELIMITER ;
四:查看存储过程创建语句
show create procedure user_copy\G
五:调用存储过程
call user_copy();
六、再次查表