• MySQL存储结构


    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、实际操作

    在这里插入图片描述

    2.1创建存储过程

    在这里插入图片描述

    2.1调用

    在这里插入图片描述

    2.3查看存储过程

    在这里插入图片描述

    2.4查看存储过程状态

    在这里插入图片描述

    2.5查看指定存储过程信息

    在这里插入图片描述

    3、存储过程的参数

    3.1参数

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

    3.2实际操作

    在这里插入图片描述
    在这里插入图片描述

    3.3修改存储过程

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.4删除存储过程

    在这里插入图片描述

    4、总结

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

  • 相关阅读:
    QT控件 — QScrollArea
    JupyterLab使用指南(二):JupyterLab基础
    Linux 压缩文件和文件打包。
    关于Jupyter markdown的使用
    基于Java毕业设计云盘系统修改密码演示2021源码+系统+mysql+lw文档+部署软件
    Design Compiler工具学习笔记(3)
    音频编码格式介绍-AAC
    MySQL基础进阶:汇总数据
    什么是PUP?什么是PUP程序?
    02_elasticsearch 核心概念
  • 原文地址:https://blog.csdn.net/m0_62231324/article/details/133614473