13 MySQL--存储过程
1、存储过程的介绍
对于存储过程,可以接收参数,其参数有三类:in 仅用于传入参数用out 仅用于返回值用inout 既可以传入又可以当作返回值
存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql。 优点:1. 用于替代程序写的SQL语句,实现程序与sql解耦2. 基于网络传输,传别名的数据量小,而直接传sql数据量大缺点:1. 程序员扩展功能不方便补充:程序与数据库结合使用的三种方式#方式一: MySQL:存储过程程序:调用存储过程评论:应用程序与数据库解开耦合,效率高,发存储过程名就可以了,但是实际情况:扩展性低,人为因素造成得!#方式二: MySQL:程序:纯SQL语句评论:通常用这种方式,运行效率低一些,但扩展性方便。#方式三: MySQL:程序:类和对象,即ORM(本质还是纯SQL语句),Django框架里面有ORM框架,本质:应用程序控制sql评论:运行效率低,相比方式二,因为要转换,发送。开发效率高,面向对象,可维护性高。
2、准备表
创建存储过程
无参数存储过程
#1、无参存储过程delimiter //create procedure p1()BEGINselect * from db7.teacher;END //delimiter ;# MySQL中调用 call p1();# Python中调用cursor.callproc('p1')
# 在MySQL中调用
删除创建的存储过程:
在pycharm开发环境中调用
((1, '张磊老师'), (2, '李平老师'), (3, '刘海燕老师'), (4, '朱云海老师'), (5, '李杰老师'))
有参数存储过程
#2、有参存储过程 in n1 int,in n2 int,out res int in 指的是传入参数 out 指的是传出参数delimiter //create procedure p2(in n1 int,in n2 int,out res int)BEGINselect * from db7.teacher where tid > n1 and tid < n2;set res = 1;END //delimiter ;# MySQL中调用# 设定初始值set @x=0call p2(2,4,@x);select @x;# Python中调用cursor.callproc('p2',(2,4,0))# @_p2_0=2,@_p2_1=4,@_p2_2=0cursor.execute('select @_p3_2')cursor.fetchone()
# MySQL中调用# 设定初始值
在pycharm开发环境中
((3, '刘海燕老师'),) (1,)
删除存储过程drop procedure proc_name;
转载于:https://www.cnblogs.com/foremostxl/p/9771273.html
13 MySQL--存储过程相关推荐
- mysql 存储过程 格式化_转 mysql 存储过程初探
https://www.cnblogs.com/qmfsun/p/4838032.html MySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/ ...
- mysql存储过程与自定义函数
2019独角兽企业重金招聘Python工程师标准>>> #mysql存储过程与自定义函数: delimiter $ 1.最简单的存储过程 create procedure test( ...
- mysql 存储过程 select 循环_简简单单储存过程——循环一个select结果集
摘要:本文主要讲解了存储过程的创建.调用.以及游标的使用 ,相信掌握了游标 会对你有不错的帮助,有不足之处还请指教 导航 : 一.存储过程的创建及调用 二 .游标的使用 三. 示例 四.补 ...
- MySQL 存储过程的基本用法
http://database.51cto.com/art/201006/203159.htm 我们大家都知道MySQL 存储过程是从 MySQL 5.0 开始逐渐增加新的功能.存储过程在实际应用中也 ...
- mysql数据库计算全部女生_使用mysql存储过程-统计某个数据库下的所有表的记录数...
使用 mysql 存储过程 - 统计某个数据库下的所有表的记录数 其中用到了游标 (cursor) ,循环 (loop) ,动态 SQL 预处理 (prepare) 等技术,特 此记录一下. [sql ...
- 转载:mysql存储过程讲解
记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程 ...
- Asp.net 调用mysql存储过程参数传中文乱码!
<add name="xxx" connectionString="server=10.10.xx.xx;User Id=xxx;password=xxxx;dat ...
- jdbc mysql 存储过程查询数据_JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。...
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一 ...
- mysql存储过程 简书_MySQL存储过程
在本节中,您将逐步学习如何在MySQL中编写和开发存储过程. 首先,我们向您介绍存储过程的概念,并讨论何时使用它. 然后,展示如何使用过程代码的基本元素,如创建存储过程的语句,if-else,case ...
- mysql存储过程批量建表
asif mysql存储过程批量建表 用MySql的存储过程建立100张表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
最新文章
- 太好玩了,爬虫、部署API、加小程序,一条龙玩转知乎热榜!
- HUD 5687(字典树)
- 每日一皮:这就是成都马拉松???...
- 锐捷RG-S2126G交换机密码恢复实战
- 计算机组成原理平均cpi怎么算_计算机组成原理--1.2计算机系统性能评价
- 使用Docker Compose 搭建lnmp
- ux设计师薪水_客户现在也是UX设计师
- python tkinter图片为什么要设置全局变量_为什么这里一定要设置全局变量
- RocketMQ一行代码造成消息发送失败
- pythonselenium上传图片视频_如何用selenium、python上传文件(图片)
- 全国省市县区乡镇级别的矢量文件(百度网盘可下载)
- 从零开始的C++(操作符函数重载)
- PUM-main makefile报错 #error -- unsupported GNU version gcc versions later than 6 are not supported
- 自定义View学习之仿QQ运动步数进度效果
- 宣传片常用的策划方案
- 机器学习:simple linear iterative clustering (SLIC) 算法
- 兄弟连PHP学习套装,2010年限期促销!
- 一线网页游戏程序员日志 (十)
- jQuery权威指南(第2版)pdf
- Python的自我修炼之路(一)
热门文章
- d语言 c++ 混合编程,C++,D语言,Python语言一次模拟合作开发
- java多线程上传文件_Java大文件分片上传/多线程上传
- rt1052 usb速率_rt1052 spi flash 读数据好慢
- [leetcode]169. 多数元素
- AVL树---最简单的实现
- NYOJ 81:炮兵阵地(状压DP)
- opencv 多边形近似物体形状
- opencv 利用轮廓检索函数实现字母匹配(图像匹配)
- win10 安装oracle11g R2的64位版本
- ------表达式---数值表示/算术运算符