首页 > 数据库 >MySQL数据分析进阶(八)存储过程

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

时间:2024-08-03 18:55:14浏览次数:17  
标签:数据分析 语句 存储 进阶 MySQL 参数 SQL 过程 变量

※食用指南:文章内容为‘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 ;把符号还回分号

标签:数据分析,语句,存储,进阶,MySQL,参数,SQL,过程,变量
From: https://blog.csdn.net/2401_86505958/article/details/140859127

相关文章

  • docker 主从mysql配置
    1、主机容器dockerrun-d--namemysql-master--networkmy_network-p3307:3306-eMYSQL_ROOT_PASSWORD=密码mysql2、从机容器dockerrun-d--namemysql-slave--networkmy_network-p3308:3306-eMYSQL_ROOT_PASSWORD=密码mysql3、在主机修改mysql配置[mysqld]......
  • MySQL的执行计划详解(Explain)(整合版)
    目录MySQL的执行计划详解(Explain)(整合版)1、MySQL执行计划的定义2、Explain分析示例3、语法展示4、explain中的列4.1、id4.2、select_type4.3、table4.4、type(重要的)4.5、possible_keys4.6、key4.7、key_len4.8、ref4.9、rows4.10、fitered4.11、ExtraMySQL的执行计划详解(Expla......
  • 神经网络训练(二):基于残差连接的图片分类网络(进阶篇②)
    目录日常·唠嗑3基于ResNet18的优化3.1初步构思3.1.1数据预处理3.1.2批量大小3.1.3参数初始化3.1.4optimizer3.1.5学习速率3.2hyper-parameter测试3.2.1批量大小日常·唠嗑       昨天写完了神经网络训练(二):基于残差连接的图片分类......
  • MySQL-主从复制
    目录概述原理搭建概述主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制MySQ......
  • Mysql--权限与安全管理
    前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除一、权限表MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中,由MySQL_install_db脚本初始化。存储账户权限信息的表主要有user、db、host、tables_priv、columns_priv和proc......
  • MySQL 入门知识详解
    MySQL入门知识详解在学习MySQL的过程中,初学者需要掌握一些基本概念、常用操作和设计原则。本文将详细讲解这些知识点,并通过具体示例帮助你更好地理解。1.基本概念数据库数据库是一个用来存储和组织化数据的容器。在MySQL中,一个数据库包含多个表。每个数据库通常代表......
  • Ubuntu22.04 + Mysql5.7 + Docker + 主备复制方案
    同时运行两个MySQL5.7容器。这种方式可以实现数据库的主-备复制架构,提高系统的可靠性。下面是一个示例,演示如何运行两个MySQL5.7容器,一个作为主节点,一个作为备节点:1.运行主MySQL容器:sudodockerrun-d\--namemysql-57-master\--restart=always\......
  • Ubuntu20.04 + Mysql8.0安装
    1.安装MySQL8.0sudoaptupdatesudoapt-getinstallsoftware-properties-commonsudoapt-getinstallwgetwget-chttps://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.debsudodpkg-imysql-apt-config_0.8.22-1_all.debsudoapt-getinstallmysql-server......
  • 谷粒商城实战笔记-115-全文检索-ElasticSearch-进阶-bool复合查询
    文章目录1,must2,mustnot3,should1,must{"query":{"bool":{"must":[{"match":{"gender":"M"}},{"matc......
  • 谷粒商城实战笔记-118-全文检索-ElasticSearch-进阶-aggregations聚合分析
    文章目录一,基本概念主要聚合类型二,实战1,搜索address中包含mill的所有人的年龄分布以及平均年龄,但不显示这些人的详情2,按照年龄聚合,并且请求每个年龄的平均薪资Elasticsearch的聚合(Aggregations)功能允许用户对数据集进行聚合分析,从而获得数据的摘要信息。聚......