MySQL基础之存储过程
学过之后却没有总结,今天好不容易有点时间来看看。
存储过程的优势
1.简化复杂的SQL语句,将多个SQL语句封装成为一个存储过程,可以在其中加上一些流程控制语句
2.存储过程封装在数据库内部,编译之后直接调用,大大提高效率
3.模块化编程,将一定功能的SQL语句封装,开发人员无需了解内部构造直接调用
创建存储过程(Stored Procedure)
delimiter //
create proceduce sp_test(
in id int,out num int )
begin
select sum(id) into num;
end
//
delimiter;
代码分析:
1.首先SQL语句的结束标志改为//,便于区分SQL语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。
2.关于参数有三种类型,in,out,inout
3.select...into... 可以将数据通过num返回
4.在内容中可以利用流程控制大大提升代码功能,之后会补充
查看存储过程
show proceduce status \G;
show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容
删除存储过程
drop procedure sp_test;
执行操作过程
call sp_test(1,@num);
将返回值存储在num变量中,在out型变量前加上@
直接可以使用select @num;来查看具体的值
---恢复内容结束---
学过之后却没有总结,今天好不容易有点时间来看看。
存储过程的优势
1.简化复杂的SQL语句,将多个SQL语句封装成为一个存储过程,可以在其中加上一些流程控制语句
2.存储过程封装在数据库内部,编译之后直接调用,大大提高效率
3.模块化编程,将一定功能的SQL语句封装,提高可读性
创建存储过程(Stored Procedure)
delimiter // create proceduce sp_test( in id int,out num int ) begin select sum(id) into num; end // delimiter;
代码分析:
1.首先SQL语句的结束标志改为//,便于区分SQL语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。
2.关于参数有三种类型,in,out,inout
3.select...into... 可以将数据通过num返回
4.在内容中可以利用流程控制大大提升代码功能,之后会补充
查看存储过程
show proceduce status \G;
show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容
删除存储过程
drop procedure sp_test;
执行操作过程
call sp_test(1,@num);
将返回值存储在num变量中,在out型变量前加上@
直接可以使用select @num;来查看具体的值
MySQL基础之存储过程的更多相关文章
- MySQL基础值 存储过程和函数
一.创建存储过程和函数 什么是创建存储过程和函数? 就是将经常使用的一组SQL语句组合在一起,并将这些SQL语句当做一个整体存储在MYSQL服务器中. 创建存储过程的语句是:CREATE PROCE ...
- MySQL 基础四 存储过程
-- 定义存储过程 DELIMITER // CREATE PROCEDURE query_student2() BEGIN SELECT * FROM student; END // DELIMIT ...
- MYSQL:基础—存储过程
MYSQL:基础-存储过程 快速入门 理解: 迄今为止,我们学过的大多数SQL语句都是针对一个或多个表的单条语句.但是并不是所有的操作都是可以用一条语句来完成的,经常有一些操作是需要多条语句配合才能完 ...
- MySQL基础(5) | 存储过程
MySQL基础(5) | 存储过程 一.基础 结束符[重要] mysql的命令行执行每一条命令是以分号结尾的,也就是说识别是否为一条命令,是根据分号决定的. 然而存储过程中设计多条语句,很可能出现多个 ...
- 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器
@ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...
- MySql(十九):基础——自定义存储过程和函数
MYSQL中创建存储过程和函数分别使用CREATE PROCEDURE和CREATE FUNCTION 使用CALL语句来调用存储过程,存储过程也可以调用其他存储过程 函数可以从语句外调用,能返回标量 ...
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- Mysql基础(二)
学习路线:数据约束-> 数据库的设计过程-> 存储过程的相关知识-> 触发器-> 权限管理 (一)数据约束 1.1.默认值的设置 创建员工表emp 将默认地址设置为'中国'my ...
随机推荐
- JS核心系列:浅谈 call apply 与 bind
在JavaScript 中,call.apply 和 bind 是 Function 对象自带的三个方法,这三个方法的主要作用是改变函数中的 this 指向,从而可以达到`接花移木`的效果.本文将对这 ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- Security Policy:行级安全(Row-Level Security)
行级安全RLS(Row-Level Security)是在数据行级别上控制用户的访问,控制用户只能访问数据库表的特定数据行.断言是逻辑表达式,在SQL Server 2016中,RLS是基于安全断言( ...
- 【.net 深呼吸】限制执行代码的权限
前面好几篇文章,老周都跟大伙伴们聊了跟应用程序域有关的话题,干脆咱们一聊到底吧,做学问就应该这样,有恒心. App Domain的创建新应用程序域的方法中,有一个特殊的重载: public stati ...
- CSS 特殊属性介绍之 pointer-events
首先看一下 MDN 上关于 pointer-events 的介绍: CSS属性 pointer-events 允许作者控制特定的图形元素在何时成为鼠标事件的 target.当未指定该属性时,SVG 内 ...
- pt-heartbeat
pt-heartbeat是用来监测主从延迟的情况的,众所周知,传统的通过show slave status\G命令中的Seconds_Behind_Master值来判断主从延迟并不靠谱. pt-hea ...
- C# 对象实例化 用json保存 泛型类 可以很方便的保存程序设置
参考页面: http://www.yuanjiaocheng.net/webapi/test-webapi.html http://www.yuanjiaocheng.net/webapi/web-a ...
- 文档对象模型DOM通俗讲解
转自:http://www.jb51.net/article/42671.htm 在开始之前先说一点,DOM是非常容易理解的,但是大家说的太官方,让人很是难于理解,我们就用非常简单的语言翻译一遍.加深 ...
- 实现php连接memcached
准备工作: 实现lnmp环境 给php添加模块,so库 下载扩展包:memcache-2.2.5.tgz wget http://pecl.php.net/get/memcache-2.2.5.tgz
- Prometheus 系统监控方案 一
最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错.而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下. Prometheus 是什 ...