Mysql 存储过程 + python调用存储过程 (内置函数讲解及定义摘抄)
定义
存储过程:就是为以后的使用而保存的一条或多条 MySQL语句的集合。可将其视为批文件,虽然它们的作用不仅限于批处理。
个人使用存储过程的原因就是因为 存储过程比使用单独的SQL语句要快
有如下表(名为 a)
其下,所有都可以用一条sql解决,但是我为了熟悉 存储过程,而采用函数式来进行书写
简单案例 1 : 创建函数 name
, 需要传入 id值,返回 name值:
# 创建一个名为 name的存储过程 DELIMITER //
create procedure name (
in _id int
) BEGIN
select name from a
where id=_id; END // DELIMITER; 其中, DELIMITER //告诉命令行实用程序使用 //作为新的语句结束分隔符,
可以看到标志存储过程结束的 END定义为END//而不是END; 。
这样,存储过程体内的 ;仍然保持不动,并且正确地传递给数据库引擎。
最后,为恢复为原来的语句分隔符,可使用 DELIMITER ;。
除\符号外,任何字符都可以用作语句分隔符。如果你使用的是 mysql命令行实用程序,在阅读本章时请记住这里的内容。
在运行此存储函数之后,得到 如下图
简单案例2 创建函数 name_1
要求传入id值,返回id对应的name字段,保存到变量 @temp中传入的变量需要加@符号,否则会报错
[Procedure execution failed 1414 - OUT or INOUT argument 2 for routine test.name_1 is not a variable or NEW pseudo-variable in BEFORE trigger]
DELIMITER //
create procedure name_1 (
in _id int,
out name_ varchar(255)
) BEGIN
select name into name_ from a
where id=_id;
END //
DELIMITER;
需要注意的是,在运行的时候,需要传入id值,和变量名,如下图(使用navicat),得出结果为小刚
简单案例3 创建函数 name_2
需要传入id值,对id值+1之后,返回name值
DELIMITER //
create procedure name_2 (
in _id int,
out name_ varchar(255)
) BEGIN
DECLARE id_add int; ##声明变量 id_add
select id into id_add from a
where id=(_id+1);
select name into name_ from a where id=id_add;
END //
DELIMITER; 讲解: 拿到 +1之后的id 放入id_add
Mysql 存储过程 + python调用存储过程 (内置函数讲解及定义摘抄)的更多相关文章
- Python函数的基本定义和调用以及内置函数
首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有很多内建函数,当然随着学习的深入,你也可以学会创建对自己有用的函数.简单的理解 ...
- python学习交流 - 内置函数使用方法和应用举例
内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...
- python常用的内置函数哈哈
python常用的内置函数集合做一个归类用的时候可以查找 abs 返回数字x的绝对值或者x的摸 all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为true,就 ...
- python常用的内置函数
python常用的内置函数集合做一个归类用的时候可以查找- abs 返回数字x的绝对值或者x的摸 - all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为tru ...
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- Python的常用内置函数介绍
Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...
- python 常见的内置函数
内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...
- python之路——内置函数和匿名函数
阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...
- Python进阶-VII 内置函数
一.内置函数引入 我们已经了解的有; print() input() range() next() dir() str() int() list() set() tuple() dict() he ...
随机推荐
- <img>的title和Alt有什么区别?
Alt是<img>的特有属性,是图片内容的等价描述,用于图片无法加载时显示,读屏器阅读图片. title 可提高图片高可访问性,除了纯装饰图片外都必须设置有意义的值,搜索引擎会重点分析.鼠 ...
- Linux_CentOS下搭建Nodejs 生产环境-以及nodejs进程管理器pm2的使用
nodejs安装:https://www.cnblogs.com/loaderman/p/11596661.html nodejs 进程管理器 pm2 的使用 PM2 是一款非常优秀的 Node 进程 ...
- 利用Termux在Android手机上运行PHP
从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...
- [LeetCode] 156. Binary Tree Upside Down 二叉树的上下颠倒
Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that ...
- Bro-Sysmon:一款让Bro-IDS(Bro)监视Windows端点活动的工具
Bro-Sysmon是啥? 受到了Bro-OSQuery(https://github.com/bro/bro-osquery)项目的启发,为了使Bro-IDS(Bro)监视Windows端点活动所以 ...
- shell语法学习
[原文] 菜鸟笔记shell教程学习. 本篇博客只是记录shell的一些关键语法,主要是做一个记录,有些内容也是copy过来的,并不是一个完整的教程,想完整学习shell的同学可以前往 shell脚本 ...
- C1128节数超过对象文件格式限制: 请使用 /bigobj 进行编译
今天debug C++项目是遇到 解决方案: 右键项目—>属性 输入 /bigobj 再次编译问题解决
- odoo 上下文
order = self.env[model].browse(id)if order: order.with_context(write_type='voucher_generation').writ ...
- 2019CCPC网络赛
^&^ (HDU 6702) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- 链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下
/*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ /* 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 p ...