MySQL存储结构

MySQL存储结构

  • 1、存储结构
    • 1.1存储结构概述
    • 1.2优点
    • 1.3存储过程应用
    • 1.4触发器
  • 2、实际操作
    • 2.1创建存储过程
    • 2.1调用
    • 2.3查看存储过程
    • 2.4查看存储过程状态
    • 2.5查看指定存储过程信息
  • 3、存储过程的参数
    • 3.1参数
    • 3.2实际操作
    • 3.3修改存储过程
    • 3.4删除存储过程
  • 4、总结

1、存储结构

1.1存储结构概述

MysQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。

存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。操作数据库的传统SQL语句在执行时需要先编译,然后再去执行,跟存储过程一对比,明显存储过程在执行上速度更快,效率更高。存储过程在数据库中创建并保存,它不仅仅是SQL语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。

1.2优点

封装性
通常完成一个逻辑功能需要多条 SQL 语句,而且各个语句之间很可能传递参数,所以,编写逻辑功能相对来说稍微复杂些,而存储过程可以把这些 SQL 语句包含到一个独立的单元中,使外界看不到复杂的 SQL 语句,只需要简单调用即可达到目的。并且数据库专业人员可以随时对存储过程进行修改,而不会影响到调用它的应用程序源代码
可增强 SQL 语句的功能和灵活性
存储过程可以用流程控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
可减少网络流量
由于存储过程是在服务器端运行的,且执行速度快,因此当客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而可降低网络负载。
提高性能
当存储过程被成功编译后,就存储在数据库服务器里了,以后客户端可以直接调用,这样所有的 SQL 语句将从服务器执行,从而提高性能。但需要说明的是,存储过程不是越多越好,过多的使用存储过程反而影响系统性能
提高数据库的安全性和数据的完整性
存储过程提高安全性的一个方案就是把它作为中间组件,存储过程里可以对某些表做相关操作,然后存储过程作为接口提供给外部程序。这样,外部程序无法直接操作数据库表,只能通过存储过程来操作对应的表,因此在一定程度上,安全性是可以得到提高的。
使数据独立
数据的独立可以达到解耦的效果,也就是说,程序可以调用存储过程,来替代执行多条的 SQL 语句。这种情况下,存储过程把数据同用户隔离开来,优点就是当数据表的结构改变时,调用表不用修改程序,只需要数据库管理者重新编写存储过程即可。

1.3存储过程应用

存储过程在数据库中L 创建并保存,它不仅仅是 SQ语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。存储过程的应用范围很广,例如封装特定的功能、 在不同的应用程序或平台上执行相同的函数等等。

1.4触发器

(1)MySQL触发器是一种特殊的存储过程,它是在数据库表中定义的一种自动化操作,当特定的数据库事件发生时,触发器会自动执行相应的SQL语句。MySQL触发器可以在数据插入、更新或删除时触发,从而实现对数据库的自动化操作。
(2)MySQL触发器可以用于实现复杂的业务逻辑和数据校验,例如:在插入或更新数据时,自动计算某些字段的值、自动更新相关表格中的数据、自动记录操作日志等。MySQL触发器的编写需要遵循一定的规则,如定义触发器的触发事件、触发条件、触发动作等。
(3)使用MySQL触发器可以提高数据操作的效率和安全性,避免了手动操作产生的人为错误和漏洞,同时也减轻了数据库管理员的工作负担。但需要注意的是,过多的触发器也会影响数据库性能,应该适度使用。

2、实际操作

MySQL存储结构_第1张图片

2.1创建存储过程

MySQL存储结构_第2张图片

2.1调用

MySQL存储结构_第3张图片

2.3查看存储过程

MySQL存储结构_第4张图片

2.4查看存储过程状态

MySQL存储结构_第5张图片

2.5查看指定存储过程信息

MySQL存储结构_第6张图片

3、存储过程的参数

3.1参数

  • IN输入参数: 表示调用者向过程传入值(传入值可以是字面量或变量)
  • OUT输出参数: 表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
  • INOUT输入输出参数: 既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

3.2实际操作

MySQL存储结构_第7张图片
MySQL存储结构_第8张图片

3.3修改存储过程

MySQL存储结构_第9张图片
在这里插入图片描述
MySQL存储结构_第10张图片

3.4删除存储过程

MySQL存储结构_第11张图片

4、总结

MySQL存储过程是一组预编译的SQL语句集合,可以被调用和执行。存储过程可以完成复杂的数据处理、逻辑判断和业务流程控制等功能,提高了数据库的安全性和性能。MySQL存储过程具有以下特点:首先,存储过程可以减少网络流量,提高数据库性能;其次,存储过程可以在数据库内部实现复杂的业务逻辑,提高业务处理效率;此外,存储过程可以提高数据库的安全性,防止SQL注入等安全问题。MySQL存储过程可以通过命令行或可视化工具创建和调用,具有较高的灵活性和可维护性。在实际开发中,存储过程可以用于数据清洗、ETL、数据分析等场景,提高数据处理效率和数据质量。

你可能感兴趣的:(mysql,数据库)