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 ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
- NuGet镜像上线试运行
为解决国内访问NuGet服务器速度不稳定的问题,我们用阿里云服务器搭建了一个NuGet镜像,目前已上线试运行. 使用NuGet镜像源的方法如下: 1)NuGet镜像源地址:https://nuget. ...
- 使用 Roslyn 编译器服务
.NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为 ...
- ifconfig: command not found(CentOS专版,其他的可以参考)
ifconfig: command not found 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) echo $PATH 解决方案1:先看看是不是 ...
- Canvas绘图之平移translate、旋转rotate、缩放scale
画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...
- 前端学HTTP之内容协商
前面的话 一个URL常常需要代表若干不同的资源.例如那种需要以多种语言提供其内容的网站站点.如果某个站点有说法语的和说英语的两种用户,它可能想用这两种语言提供网站站点信息.理想情况下,服务器应当向英语 ...
- Python应用03 使用PyQT制作视频播放器
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载. 最近研究了Python的两个GUI包,Tkinter和PyQT.这两个GUI包的底层分别是Tcl/ ...
- [C#] C# 知识回顾 - 序列化
C# 知识回顾 - 序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...
- css3圆形百分比进度条的实现原理
原文地址:css3圆形百分比进度条的实现原理 今天早上起来在查看jquery插件机制的时候,一不小心点进了css3圆形百分比进度条的相关文章,于是一发不可收拾,开始折腾了... 关于圆形圈的实现,想必 ...
- 浅谈java异常[Exception]
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...