目录
背景:有时候同一个sql,每次打开数据库连接工具的时候都需要输入一次,很不方便;或者在性能测试的时候,需要检测后端severlet读取百万数据的表的速度时,我们测试人员需要忘需要批量往数据库里插入数据;或者是测试数据库集群,读写分离的功能时我们都会用到存储过程。(注:业务简单且重复性高的操作时应使用存储过程,业务有点复杂时当使用代码来操作数据库,当业务非常复杂时,可能设计好几张表时最好使用接口来造数据)
简介:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用于通过制定的存储过程名字并给出参数来执行它,也是数据库中的一个重要对象。
相对于sql,它的优点:
①执行速度相对快一些
②减少网络之间的数据传输,节省资源开销
③可编程性强,灵活
④能完成较复杂的判断和运算
⑤SQL编程的代码可重复使用
一、存储过程简单封装SQL语句
使用create procedure创建存储过程,in进行入参,out进行出参
使用delimiter定义结束语句
使用begin封装SQL,end结束封装
使用call来执行存储过程
使用declare定义存储过程里面的变量
使用drop procedure进行删除存储过程
使用while do和end while对循环代码进行封装
使用if else来对sql进行简单条件判断,分支控制
二、封装10万条数据
创建表的SQL为create table tab_test(id int not null,name char(20))
①创建表,或者表存在
②清表操作,避免主键冲突
③创建存储过程
④封装开始
⑤定义变量
⑥开启事务,避免数据不准确
⑦开启循环
⑧书写被封装的SQL
⑨迭代循环
⑩事务结束,提交事务
以下为插入后的效果,可倒叙id查询最后的数据,也可select count(name)查看数据条数。
存储过程封装简单sql或批量造数据篇结束,欢迎观看我主页上的其它技术类篇章 ~