【MySQL】数据库之存储过程(“SQL语句的脚本“) |
您所在的位置:网站首页 › 调用存储过程pro1的命令 › 【MySQL】数据库之存储过程(“SQL语句的脚本“) |
目录 一、什么是存储过程? 二、存储过程的作用 三、如何创建、调用、查看、删除、修改存储过程 四、存储过程的参数(输入参数,输出参数,输入输出参数) 第一种:输入参数 第二种:输出参数 第三种:输入输出参数 五、存储过程中的条件与循环语句 第一种:if条件的存储过程 第二种:while循环的存储过程 六、如何一次性往数据库中插入上万条数据? 第一种存储过程实现上万数据插入 第二种shell脚本实现上万数据插入 一、什么是存储过程?存储过程是一组为了完成特定功能的SQL语句的集合。有点shell脚本的意思 存储过程在使用过程中,是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化存储在数据库服务器中,当需要使用该存储过程的时候,只需要调用即可。存储过程在执行上比传统的SQL语句速度更快,执行的效率也更高。 二、存储过程的作用优点: 1、执行一次后,会将生成的二进制代码驻留缓冲区,提高执行效率; 2、SQL语句加上控制语句的集合,灵活性高; 3、在服务器端存储,客户端调用时,降低网络负载; 4、可以多次重复调用存储过程,也可以随时修改,不影响客户端的调用; 5、可以完成所有数据库的操作,也可以控制数据库的信息访问权限。 三、如何创建、调用、查看、删除、修改存储过程存储过程也是一种对象,增删改查的命令可以套用DDL的相关语句 存储过程是创建在库中的,需要先用use切换库,否则需要在创建的时候,指定库名 ##创建存储过程了 delimiter 结束符 ##先自定义结束符,因为存储过程中的SQL语句用分号结尾,这时需要修改作为区分 create procedure 存储过程名称() begin SQL语句集合 end结束符号 delimiter ; ##将结束符修改回为分号 ##查看存储过程 show create procedure [库名].存储过程名称; show procedure status like '存储过程名称' \G; ##支持通配符 ##调用存储过程 call 存储过程名称; ##删除存储过程 drop procedure 存储过程名称; drop procedure if exists 存储过程名称; ##如果存在则删除 修改存储过程的方法: 存储过程内容的修改方法是通过删除原有存储过程,之后再以相同的名称创建新的存储过程。如果要修改存储过程的名称,可以先删除原存储过程,再以不同的命名创建新的存储过程。 总结就是重新创建储存过程,没有直接删除的方法 四、存储过程的参数(输入参数,输出参数,输入输出参数)可以在存储过程创建的时候加入参数, 创建存储过程定义的参数叫形式参数,create procedure 存储名称(形式参数) 调用的时候添加的参数叫做实际参数call 存储名称(实际参数) 第一种:输入参数 delimiter $$ CREATE PROCEDURE proc2(in in_name VARCHAR(20)) BEGIN INSERT INTO t3 (NAME)VALUES(in_name); END$$ delimiter ; CALL proc2('wwy');
单个案例举例,针对存储过程的输出参数,如果是2个值,可能不可以实现, 必须是只有1个特定的值 输入输出参数首先需要满足出入的和输出的数据类型是一致的!! 比如都为int数字 或者都为varchar delimiter $$ CREATE PROCEDURE proc4(INOUT i INT) BEGIN SELECT COUNT(name) INTO i FROM t3 where id>i; END$$ delimiter ; SET a=5; CALL proc4(@a); SELECT @a;
有两种方式 存储过程和shell脚本 第一种存储过程实现上万数据插入一百万条数据 用时50秒
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |