当前位置:   article > 正文

MySQL数据分析进阶(八)存储过程

MySQL数据分析进阶(八)存储过程

※食用指南:文章内容为‘CodeWithMosh’SQL进阶教程系列学习笔记,笔记整理比较粗糙,主要目的自存为主,记录完整的学习过程。(图片超级多,慎看!)

【中字】SQL进阶教程 | 史上最易懂SQL教程!10小时零基础成长SQL大师!!icon-default.png?t=N7T8https://www.bilibili.com/video/BV1UE41147KC/?spm_id_from=333.1007.0.0&vd_source=b287f1f4a1fa54cc438e31a0f87ef4e2

第八章:存储过程

1、WHAT ARE STORED PROCEDURES——什么是存储过程

不建议在应用代码里写语句:会让应用代码很混乱且难以维护

①在使用C#、Java或者Python开发应用

如果把Java代码和SQL混在一起,那么SQL代码介入会让应用代码很混乱和难以维护

②一些C#、Java这样的编程语言需要编译工作

在这类应用代码里写SQL查询,一旦发现需要修改其中的查询,就必须重新编译应用代码才能生效。所以每次修改SQL代码都需要重新编译或者可能重新部署应用代码

解决方法:将SQL代码储存在它应属的数据库里——存储过程或函数中

存储过程Stored Procedure:一个包含一堆SQL代码的数据库对象

存储过程Stored Procedure的优势:

①Store and organize SQL(存储和管理SQL)

在应用代码里,调用这些过程来获取或保存数据,使用存储过程来存储和管理SQL代码

②Faster execution(更快速执行)

大多数DBMS可以对存储过程里的代码做一些优化,因此存储过程里的SQL代码有时执行起来更快

③Data security(数据安全性)

取消对所有表的直接访问权限,让很多操作如插入、更新和删除数据由存储过程来完成,然后可以指定能够执行特定存储过程的某一人,从而限制用户对我们数据的操作范围(防止一些用户删除数据)

2、CREATING A STORED PROCEDURE——创建一个存储过程

把这个查询存在存储过程里

①get_clients,使用小写字母并用下划线分隔,是MySQL开发者通用的

②BEING和END关键字之间的内容成为存储过程的主体(body)

③通常创建的存储过程有好几条语句(SELECT部分),每条(包含一条)语句都需要分号终结

其他的DBMS,如SQL Server可能就不需要

DELIMITER重新定义分割符:让存储过程不会到clients时报错

 

$$视为新的分隔号,把所有的语句当成一个整体;

最后再用DELIMITER ;把符号还回分号

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/947122
推荐阅读
相关标签