mysql 游标性能_Mysql性能调优(三)

前言

最近的文章均是给大家介绍mysql的性能优化,前两篇文章我们分别介绍了索引的相关知识,主要包括:索引的基本概念、引用索引的优缺点、索引的底层结构、索引的分类以及应用索引的设计原则及其语法。接下来的文章又介绍了视图以及触发器,分别介绍视图以及触发器的概念、创建、修改以及查看和删除的相关内容。

本文将给大家介绍存储过程与存储函数的相关内容。这里主要包括存储过程的基本概念、创建、调用、删除存储过程,另外还介绍了在mysql中变量的申明以及赋值、应用。最后将给大家介绍mysql中存储过程中的三种循环结构。并且,给大家介绍游标的相关内容。

首先给大家介绍存储过程的相关内容。

一、存储过程

1、存储过程与存储函数概述

存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是由好处的。

其实存储过程和存储函数最关键的区别在于:函数必须有返回值,而存储过程没有。函数:是一个有返回值的过程;

过程:是一个没有返回值的函数;

2、创建存储过程

接下来给大家介绍存储过程的创建语法。

create procedure procedure_name([proc_parameter[,...]])

begin

--SQL语句end;

我们通过一个案例来具体说明存储过程的创建。方便大家更好的理解存储过程的语法。

delimiter $

create procedure pro_test1()

begin

select 'hello mysql';

end $

delimiter ;这里需要我们注意的是:我们在案例中用到了一个关键字——“delimiter”,该关键字用来声明sql语句的分隔符。这个关键字其实就是告知mysql解释器,该命令是否已经结束了,mysql是否可执行了。一般在默认情况下:delimiter是;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。

3、调用存储过程

我们创建好存储过程之后,可以再mysql中调用存储过程,调用语法如下:

call procedure_name()

4、查看存储过程

我们在调用存储过程之后,就可以在MySQL中查看存储过程。以下就是存储查看语句的如下:

--首先我们查询db_name数据库中的所有的存储过程;select name from mysql.proc where db = 'db_name';

--查询存储过程的状态信息show procedure status;

--查询某个存储过程的定义show create procedure test.pro_test1 \G;

5、删除存储过程

存储过程与其他的mysql语句一样,可以创建,可以查看,当然也可以删除,接下来,我们介绍mysql中存储过程的删除,删除的语法如下:

drop procedure [if exists] sp_name;

6、语法

通过前面的介绍,相信大家对存储过程有一定的了解,其实,我们学过编程的可以知道,存储过程也是可以编程的,这就意味着我们可以同样地在创建存储的过程也可以使用我们常见的变量、表达式以及控制结构,可以完成比较复杂的功能。

(1)、变量

declare

我们首先给大家介绍存储过程中的变量,变量的声明用declare关键字。我们可以通过declare可以定义一个局部变量,但是该变量的作用范围只能在begin…end块中。主要的语法如下:

declare var_name[,...] type [default value]

我们介绍了declare的语法,我们通过一个案例来说明declare的用法。

delimiter $

create procedure pro_test2()

begin

declare num int default 5;

select num+ 10;

end$

delimiter ;

set</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值