定义

存储过程:就是为以后的使用而保存的一条或多条 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调用存储过程 (内置函数讲解及定义摘抄)的更多相关文章

  1. Python函数的基本定义和调用以及内置函数

    首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有很多内建函数,当然随着学习的深入,你也可以学会创建对自己有用的函数.简单的理解 ...

  2. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  3. python常用的内置函数哈哈

    python常用的内置函数集合做一个归类用的时候可以查找 abs 返回数字x的绝对值或者x的摸 all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为true,就 ...

  4. python常用的内置函数

    python常用的内置函数集合做一个归类用的时候可以查找- abs 返回数字x的绝对值或者x的摸 - all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为tru ...

  5. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  6. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  7. python 常见的内置函数

    内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...

  8. python之路——内置函数和匿名函数

    阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...

  9. Python进阶-VII 内置函数

    一.内置函数引入 我们已经了解的有; print()  input() range() next()  dir() str() int() list() set() tuple() dict() he ...

随机推荐

  1. chrome安装react-devtools开发工具插件

    1.去git上下载react-devtools文件到本地,https://github.com/facebook/react-devtools 2.进入到react-devtools-master文件 ...

  2. sass、less和stylus 相同与不同

    sass.less和stylus的安装使用和入门实践 https://www.jianshu.com/p/1eaf366814e2 stylus 基础教程 https://blog.csdn.net/ ...

  3. babelrc笔记

    Babel默认只是转换新的语法(简单转换语法糖),如箭头函数等,但不会转换新的API,如Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promise ...

  4. Kubernetes 集群日志管理 Elasticsearch + fluentd(二十)

    目录 一.安装部署 Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elas ...

  5. laravel composer vendor 目录加载类库详细 之后做说明

    composer installLoading composer repositories with package informationInstalling dependencies (inclu ...

  6. spring mvc 参数类型转换

    实现方式以字符串转Date为例说明: 全局配置 第一种:实现 Converter 接口 实现类: public class StringToDateConveter implements Conver ...

  7. 解决ViewPager与百度地图滑动冲突

    一.问题描述 ViewPager中嵌套百度地图的时候会出现百度地图滑动冲突. 二.期望结果: 滑动地图的时候只有地图滑动,滑动其他区域可以切换viewpager. 三.解决方法 自定义viewpage ...

  8. leetcode腾讯精选练习(50 题)(持续更新)

    1.除自身以外数组的乘积 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘 ...

  9. scrapy爬虫,cmd中执行日志中显示了爬取的内容,但是运行时隐藏日志后(运行命令后添加--nolog),就没有输出结果了

    cmd下执行scrapy爬虫程序,不报错也没有输出,解决方案 想要执行parse能够在cmd看到parse函数的执行结果: 解决方法: settings.py 中设置  ROBOTSTXT_OBEY  ...

  10. php_mvc实现步骤九(登录验证码,退出-登录标记)

    shop34-17-登录验证码 验证码的分析 登录:防止暴力破解 论坛:防止灌水水 展示类:被抓取. 需要技术: 图片处理技术. 会话session技术. PHP图片处理技术 – GD 具体操作步骤 ...