一、存储过程

1 基本语法

CREATE PROCEDURE sp_name ([proc_parameter[,...]])

[characteristic ...] routine_body

格式[IN|OUT|INOUT]param_name type

2. IN、OUT、INOUT参数

(1)带84存储过程实例

1 #带多重IF的存储过程2 CREATE PROCEDURE SP_SGRADE_LEVEL(IN p_level char(

Repeat语句语法格式

[begin_label:]

repeat

Statement_list

Until search_condition

End repeat

[end_label]

Repeat语句首先执行statement_list中的语句,然后判断条件search_condition是否为真,倘若为真,则结束循环,若不为真,继续循环。

Repeat先执行后判断,while先判断后执行。

使用范例:

1 #带repeat的存储过程2 CREATE PROCEDURE sp_cal2(IN p_num INT,OUT p_result INT)3 BEGIN 4 SET p_result=1;5 REPEAT6 SET p_result = p_num *p_result;7 SET p_num = p_num-1;8 UNTIL p_num<=1 9 ENDREPEAT;10 END

5.调用存储过程

Call sp_name([parameter[,…]]);

Sp_name被调用存储过程的名称

Parameter:指定调用存储过程所要使用的参数。

6.修改存储过程

代码如下:

Alter procedure proc_name[characteristic…]

只能修改存储过程的特征,如果要修改存储过程的内容,可以先删除该存储过程,然后再重新创建

7.删除存储过程

代码如下:

Drop procedure [if exists] sp_name;

二、函数

1. 定义

MySQL中,创建存储函数的基本形式如下:

CREATE FUNCTION sp_name([func_parameter[,...]])

RETURNS type

[characteristic ...] routine_body

Return

调用存储函数

Select sp_name([func_parameter…])

Select fn_search(2);

2.存储过程和函数区别

1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。

2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类~~存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。

3)存储过程,可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数。

4)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作%

mysql数据存储和函数_MySQL数据库——存储和函数相关推荐

  1. mysql数据库函数详解_MySQL数据库之字符函数详解

    MySQL数据库中的函数根据功能可以划分为字符函数.数值运算符与函数.比较运算符与函数.日期时间函数.信息函数.聚合函数.加密函数以及自定义函数等. 1.CONCAT() CONCAT()函数用于字符 ...

  2. c mysql数据库函数库查询_Mysql数据库使用concat函数执行SQL注入查询

    SQL注入语句有时候会使用替换查询技术,就是让原有的查询语句查不到结果出错,而让自己构造的查询语句执行,并把执行结果代替原有查询语句查询结果显示出来. 例如:原本查询语句是 select userna ...

  3. mysql存储php数组_mysql数据库存储PHP数组、对象的方法

    之前开发项目时遇到了一个难点,就是如何把多维数组数据存入mysql数据库中,因为mysql数据库是不支持数组存储的,所以当时我的方法是通过容易拆分的标识符,比如@或者&这些,可能用户输入时很少 ...

  4. mysql数据库写分页函数_mysql数据库写分页函数

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. mysql数据和性能平衡点_MySQL数据库性能优化(2)

    4.影响SQL性能的要素 MySQL数据库的性能不止受到性能参数和底层硬件条件的影响,在这两个条件一定的情况下,开发人员对SQL语句的优化能力更能影响MySQL数据库的性能.由于MySQL中不同数据库 ...

  6. mysql数据锁的类型_MySQL数据库锁类型

    锁概念: 当高并发访问同一个资源时,可能会导致数据不一致,需要一种机制将用户访问数据的顺序进行规范化,以保证数据库数据的一致性.锁就是其中的一种机制. 一个栗子 :以买火车票为例,火车票可面向广大消费 ...

  7. mysql数据 锁 隔离级别_MySQL数据库事务各隔离级别加锁情况--read uncommitted篇

    1.目的 1.1 合适人群 1.数据库事务特征我只是背过,并没有很深刻的理解. 2.数据库事务的隔离级别只是了解,并没有深刻理解,也没有在实际工作中体验使用过. 3.经常面试被人问起数据库加锁情况,一 ...

  8. mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记

    mysql 1.创建数据库 create database database_name; 2.查看数据库 show database_name; 3.选择数据库 use database_name; ...

  9. mysql数据没有同步更新_MySQL数据库主从没有同步的两种解决方案

    MySQL数据库主从没有同步的两种解决方案 发布时间:2020-05-13 13:54:57 来源:亿速云 阅读:190 作者:三月 栏目:数据库 下文主要给大家带来MySQL数据库主从没有同步的两种 ...

最新文章

  1. Nginx配置反向代理,一篇搞定!
  2. CentOS 7 yum安装Zabbix
  3. php 剩余空间,PHP内核探索:内存的申请与销毁
  4. 二进制搜索树_将排序的数组转换为二进制搜索树
  5. Java 数组及多维数组
  6. YYT 0659 - 2008全自动凝血分析仪
  7. c++从txt中读取数据,数据并不是一行路径(实用)
  8. router vue 页签文字_vue-router实现tab标签页(单页面)详解
  9. Javascript刷新当前页
  10. IOT(20)---2018年有哪些值得期待的物联网应用领域?
  11. RuntimeError: Expected tensor for argument #1 ‘indices‘ to have scalar type Long; but got CUDAFloatT
  12. 传智播客张孝祥 JavaScript视频教程
  13. IEC 60068-2 规范介绍
  14. ZCMU--1585: 面试
  15. 分区丢失了数据怎么恢复
  16. 树莓派学习(一) 如何 关机 重启
  17. Origin数据设置为日期/时间的方法
  18. Qt Charts示例
  19. Android简单版天气预报,显示天气预报(第二步)
  20. 数字化时代-17:从中国历年五年规划后的GDP增长看中美大碰撞的必然

热门文章

  1. 利用python进行数据分析D2——ch03IPython
  2. DELPHI怎样编写COM组件
  3. 域控制器的强制卸载,Active Directory系列之十四
  4. mysql远程一会不用卡住_连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的,...
  5. 14.JAVA整型变量
  6. py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)
  7. python整数类型没有取值范围限制_详解Python中6种数据类型
  8. thinkphp回调的php调用db类,请问thinkphp中model类自动完成功能 回调函数能不能获取其他字段的值?...
  9. java8新生代_jdk8.0的jvm详情
  10. linux下延时1ms用什么函数,Linux下1ms分辨率定时器推荐方式