Mysql数据库 12.SQL语言 储存过程 下 储存过程管理和游标

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Mysql数据库 12.SQL语言 储存过程 下 储存过程管理和游标

一、存储过程管理

1.查询存储过程

查询所有储存过程

语法

show procedure status;

代码实现
#查询存储过程
show procedure status;
运行结果

加入条件查询储存过程

语法

show procedure status where db='储存过程名';

代码实现
#查询带有条件的储存过程 查询名字为proc_test1的储存过程
show procedure status where Name='proc_test1';
运行结果

查询创建细节

查询db_test2表中的proc_test1存储过程;

代码实现
#查询创建细节
show create procedure db_test2.proc_test1;
运行结果

2.修改储存过程

修改储存过程指的是修改存储过程的特征/特性


语法

alter procedure 储存过程名 特征1 [特征2 特征3……];


存储过程的特征参数


案例

代码实现
#修改储存过程
alter procedure proc_test1 reads sql data;


运行结果



3.删除储存过程


语法

drop procedure 储存过程名;



案例

代码实现
#删除储存过程
drop procedure proc_test1;
运行结果

修改结果

游标:拼接查询结果

问题:如果我们要创建一个存储过程,需要返回查询语句查询到的多条数据


游标的概念

游标可以用来依次取出查询结果集中的每一条数据——逐条读取查询结果集中的记录


游标的作用

在储存过程中查询多条语句

游标的使用步骤

查询表中的多个记录逐条返回所有记录


1.声明游标语法:

关键字:cursor

游标配合查询语句


declare 游标名字 cursor for 某个查询结果/查询条件;2.打开游标

关键字:open

oppen 游标名字;


3.使用游标

关键字:fetch

游标名字 into 数据放到的变量中


案例


创建储存过程

代码实现
#创建储存过程
create  procedure proc_test13(out result varchar(200))
begin
  #游标变量
  declare cid int;
  declare cname varchar(20);
  #定义计数变量
  declare num int;
  declare i int;
  #定义存储每条数据的变量
  declare str varchar(100);
  #定义游标
  #查询语句执行之后返回一个结果集(多条记录),使用游标遍历查询结果
  #游标的作用:可以把当前查询到的所有数据变成一个结果集,游标会记录每一项数据
  #在使用前先定义游标,记录总数据量打开游标进行遍历
  declare mycursor cursor for 
    select class_id,name from classes c ;
  #记录总数据量
  select count(*) into num from classes c ;
  #打开游标
  open mycursor;
  set i=0;
  #开始遍历
  while i<num do
    #提取游标中的每一条数据,并将结果赋值给游标变量 fetch关键字提取数据
    fetch mycursor into cid,cname;
    set i=i+1;
    #定义每条数据
    #concat_ws用指定的符号将所有字符串拼接在一起
    set str = concat_ws('~',cid,cname); 
    #select concat_ws('~',cid,cname \) into str;
    set result = concat_ws(',',result,str); 
  end while;
  #关闭游标
  close mycursor;
end;
运行结果

调用储存过程

代码实现
#调用储存过程
set @r = '';
call proc_test13(@r);
select @r from dual;
运行结果

数据被拼接在一起

游标的作用:将表中多个数据拼接在一起进行查询


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
在MySQL中,什么是结构化查询语言 (SQL)
【8月更文挑战第20天】在MySQL中,什么是结构化查询语言 (SQL)
40 1
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
SQL 存储 大数据
SQL 语言发展史简直太震撼啦!从诞生到现代数据处理,见证一场奇妙的演变之旅,快来感受!
【8月更文挑战第31天】SQL(结构化查询语言)自20世纪70年代由IBM研究员E.F. Codd提出以来,已成为现代数据处理不可或缺的一部分。它最初简化了层次和网状模型中复杂的存储与检索问题,通过基本的SELECT、FROM和WHERE关键字实现了数据查询。80年代,SQL在商业数据库中广泛应用,引入了GROUP BY、HAVING和ORDER BY等功能,增强了数据分析能力。90年代,互联网和企业信息化推动了SQL的进一步优化与扩展,支持分布式数据库和数据仓库等技术。
31 0
|
2月前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
42 0
|
2月前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
39 0
|
2月前
|
SQL Java 数据库连接
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11
|
2月前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
15天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
58 13
MySQL的安装&数据库的简单操作
下一篇
无影云桌面