首页 / MYSQL / 熟知MySQL存储过程
熟知MySQL存储过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了熟知MySQL存储过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3118字,纯文字阅读大概需要5分钟。
内容图文
![熟知MySQL存储过程](/upload/InfoBanner/zyjiaocheng/458/cbaa6bdd499c4e7f9331ed52c4ddb07f.jpg)
过程:封装起来的若干条语句,调用时这些封装体运行。把此过程存储到数据库中即存储过程.
函数:是一个有返回值的“过程”。
过程:没有返回值的函数。
存储过程的长处:
(
存储过程要比批处理的运行速度快非常多,由于存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,而且给出终于被存储在系统表中的运行计划。而批处理的
Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。) 3、存储过程能过降低网络流量。针对同一个数据库对象的操作(如查询、改动)。假设这一操作所涉及的Transaction-SQL语句被组织程存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的仅仅是该调用语句,从而大大添加了网络流量并降低了网络负载。 4、存储过程可被作为一种安全机制来充分利用。系统管理员通过运行某一存储过程的权限进行限制。可以实现对对应的数据的訪问权限的限制。避免了非授权用户对数据的訪问。保证了数据的安全。 5、存储过程同意标准组件是编程。存储过程被创建后。能够在程序中被多次调用。而不必又一次编写该存储过程的
SQL语句。并且数据库专业人员能够随时对存储过程进行改动,相应用程序源码毫无影响。
存储过程的创建:DELIMITER $$ //定义分隔符 CREATE PROCEDURE p() //p为过程名 BEGIN --sql语句 //封装语句体 END $$
查看已有的存储过程:show procedure status \G; 调用存储过程:call 存储过程名称(); 删除存储过程:drop procedure 存储过程名称;
变量声明:存储过程中用declare声明变量 格式:declare 变量名 变量类型 [default 默认值] 存储过程中,变量能够在SQL语句中合法的运算。如+ - * / 运算结果怎样赋值 set 变量 := 表达式 存储过程传參:存储过程的括号中,能够声明參数。 语法是 create procedure p([in/out/inout] 參数名 參数类型 ..) in out inout具体分析见博文(MySQL 存储过程參数使用方法 in, out, inout)
实例一:创建 运算 赋值
CREATE PROCEDURE p1() BEGIN DECLARE age INT DEFAULT 18; DECLARE height INT DEFAULT 180; SET age := age +20; SELECT CONCAT('年龄是', age, '身高是', height); END$$
![熟知MySQL存储过程 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424124007476.jpg)
实例二 :if/else 控制结构
CREATE PROCEDURE p2() BEGIN DECLARE age INT DEFAULT 18; DECLARE height INT DEFAULT 180; IF age >= 18 THEN SELECT "已成年"; ELSE SELECT "未成年"; END IF; END$$
![熟知MySQL存储过程 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424124008186.jpg)
实例三:while/do 控制结构 求1-100的和
CREATE PROCEDURE p3() BEGIN DECLARE total INT DEFAULT 0; DECLARE num INT DEFAULT 0; WHILE num<=100 DO SET total := num + total; SET num := num + 1; END WHILE; SELECT total; END$$
![熟知MySQL存储过程 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424124008622.jpg)
实例四:case 控制结构
CREATE PROCEDURE p4() BEGIN DECLARE num INT DEFAULT 0; SET num := FLOOR(4*RAND()); CASE num WHEN 1 THEN SELECT "cat"; WHEN 2 THEN SELECT "dog"; WHEN 3 THEN SELECT "sheep"; ELSE SELECT "pig"; END CASE; END$$
![熟知MySQL存储过程 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424124008879.jpg)
实例五:repeat循环
CREATE PROCEDURE p5() BEGIN DECLARE num INT DEFAULT 0; DECLARE total INT DEFAULT 0; REPEAT SET total = num + total; SET num := num + 1; UNTIL num>100 END REPEAT; SELECT total; END$$
![熟知MySQL存储过程 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424124009107.jpg)
版权声明:本文博主原创文章,博客,未经同意不得转载。
熟知MySQL存储过程
标签:
本文系统来源:http://www.cnblogs.com/gcczhongduan/p/4811202.html
内容总结
以上是互联网集市为您收集整理的熟知MySQL存储过程全部内容,希望文章能够帮你解决熟知MySQL存储过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。