MySQL数据库新特性之存储过程入门教程

在MYSQL 5中,终究引入了存储过程这一新特征,这将大大加强MYSQL 的数据库处置能力,在本文中,将指点读者快速控制MYSQL 5的存储过程的根基学问,率领用户入门。

存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(若是该存储过程带有参数)来施行它。存储过程可由使用法式通过一个挪用来施行,并且答应用户声明变量 。同时,存储过程能够领受和输出参数、前往施行存储过程的形态值,也能够嵌套挪用。

(1)削减收集通信量。挪用一个行数不多的存储过程与间接挪用SQL语句的收集通信量可能不会有很大的不同,可是若是存储过程包含上百行SQL语句,那么其机能绝对比一条一条的挪用SQL语句要高得多。

(2)施行速度更快。存储过程建立的时候,数据库曾经对其进行了一次解析和优化。其次,存储过程一旦施行,在内存中就会保留一份这个存储过程,如许下次再施行同样的存储过程时,能够从内存中间接中读取。

(3)更强的平安性。存储过程是通过向用户授予权限(而不是基于表),它们能够供给对特定命据的拜候,提高代码平安,好比防止 SQL注入。

1 可移植性方面:当从一种数据库迁徙到别的一种数据库时,不少的存储过程的编写要进行部门点窜。

在MYSQL中,保举利用MYSQL Query Browswer(这个东西去进行存储过程的开辟和办理。下面分步调来进修MYSQL中的存储过程。

MySQL数据库新特性之存储过程入门教程 1

MySQL数据库新特性之存储过程入门教程 2

在存储过程中,凡是要输入良多SQL语句,而SQL语句中每个语句以分号来竣事,因而要告诉存储过程,什么位置是意味着整个存储过程竣事,所以我们在编写存储过程前,先定义分隔符,我们这里定义“//”为分隔符,我们利用DELIMITER //如许的语法,就能够定义竣事符了,当然你能够本人定义其他喜好的符号。

1)起首在定义好终结符后,利用CREATE PROCEDURE+存储过程名的方式建立存储过程,LANGUAGE选项指定了利用的言语,这里默认是利用SQL。

2)DETERMINISTIC环节词的感化是,当确定每次的存储过程的输入和输出都是不异的内容时,能够利用该环节词,不然默认为NOT DETERMINISTIC。

3) SQL SECURITY环节词,是暗示挪用时查抄用户的权限。当值为INVOKER时,暗示是用户挪用该存储过程时查抄,默认为DEFINER,即建立存储过程时查抄。

挪用存储过程的方式很简单,只需要利用call号令即可,后面跟要挪用存储过程的名称及输入的变量列表,好比:

能够用ALTER的语法去点窜存储过程的次要特征和参数,要点窜其存储过程的主体部门的话,必必要先删除然后再重建。好比下面点窜存储过程num_from_employee的定义。将读写权限改为MODIFIES SQL DATA,并指明挪用者能够施行。代码施行如下:

下面讲解下MYSQL 5存储过程中,若何定义变量。必需显式地在存储过程的一起头声明变量,并指出它们的数据类型,一但声了然变量后,就能够在存储过程中利用,定义变量的语法如下:

一旦定义好变量,就能够在存储过程中对其进行赋初值,并进行各类相关的操作,好比:

当有良多IF语句时,就该当考虑利用CASE语句了,它是多分支选择语句,有两种写法:

MYSQL中的游标是一个十分主要的概念。游标供给了一种对从表中检索出的数据进行操作的矫捷手段,就素质而言,游标现实上是一种能从包罗多条数据记实的成果集中每次提取一笔记录的机制。MYSQL中的游标的语法如下:

暗示将从table1表当选取col1列的内容放到游标curl中,即每次游标遍历的成果都放在curl中,要留意游标只能向前遍历,而不克不及向后,而且留意,游标不克不及更新,最初封闭游标。

User Review
0 (0 votes)
本站最新优惠

Namesilo优惠:新用户省 $1 域名注册-优惠码:45D%UYTcxYuCloZ 国外最便宜域名!点击了解更多

特别优惠:免费赠送 $100 Vultr主机-限时优惠!英文站必备海外服务器!点击了解更多

VPS优惠:搬瓦工优惠码:BWH3OGRI2BMW 最高省5.83%打开外面世界的一款主机点击了解更多

原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2018/22043.html

扫码关注【江湖人士】公众号,您会获得关于国外被动收入的最新资讯

WA付费会员QQ群:387027533,加这个群需要回答您的WA会员名,待核实后予以通过

普通QQ交流群:178758794,可分享交流建站的各类经验和知识

发表评论

电子邮件地址不会被公开。 必填项已用*标注

18 + 17 =