Mysql中存储过程和函数的区别是什么

发布时间:2020-12-03 10:01:49

来源:亿速云

阅读:105

作者:小新

这篇文章主要介绍了Mysql中存储过程和函数的区别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

数据库设计三范式:

第一范式:数据库表的每一列都是不可分割的原子数据项,即列不可拆分。第二范式:建立在第一范式的基础上,要求数据库表中的每个实例或记录必须是可以唯一被区分的,即唯一标识。第三范式:建立在第二范式的基础上,任何非主属性不依赖与其他非主属性,即引用主键。(相关推荐:MySQL教程)

视图

视图是虚拟表,并不储存数据,只包含定义时的语句的动态数据。create view view_name as sql查询语句

存储过程

一条或多条sql语句集合,其优点为(浓缩:简单/安全/高性能):

1、存储过程能实现较快的执行速度

2、存储过程允许标准组件是编程。

3、存储过程可以用流程控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

4、存储过程可被作为一种安全机制来充分利用。

5、存储过程能够减少网络流量delimiter 分隔符

create procedure|proc proc_name()

begin

sql语句

end 分隔符

delimiter ; --还原分隔符,为了不影响后面的语句的使用

默认的分隔符是;但是为了能在整个存储过程中重用,因此一般需要自定义分隔符(除\外)

存储过程和函数的区别?

相同点:存储过程和函数都是为了可重复的执行操作数据库的 sql 语句的集合。

1)存储过程和函数都是一次编译,就会被缓存起来,下次使用就直接命中已经编译好的 sql 语句,不需要重复使用。减少网络交互,减少网络访问流量。

不同点:标识符不同,函数的标识符是 function,存储过程是 proceduce。

1)函数中有返回值,且必须有返回值,而过程没有返回值,但是可以通过设置参数类型(in,out)来实现多个参数或者返回值。

2)存储函数使用 select 调用,存储过程需要使用 call 调用。

3)select 语句可以在存储过程中调用,但是除了 select..into 之外的 select 语句都不能在函数中使用。

4)通过 in out 参数,过程相关函数更加灵活,可以返回多个结果。

触发器

在对表数据进行变动的时候进行具体的操作,有六种,分别为增删改的前后操作。create trigger trigger_name

ALTER|BEFORE select|update|delete

on 表

for each row

trigger_stmt

重点:

只有表才支持触发器,视图和临时表都不支持触发器不支持更新和覆盖,修改必须先删除然后创建

日志

Mysql主要有四种日志文件:

错误日志:记录启动,运行或者停止 mysql 时出现的问题;

查询日志:记录所有msyql的活动

二进制日志:记录更新过数据的所有语句

缓慢查询日志:记录查询缓慢的任何查询

感谢你能够认真阅读完这篇文章,希望小编分享Mysql中存储过程和函数的区别是什么内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

mysql 过程 的函数的区别是什么意思_Mysql中存储过程和函数的区别是什么相关推荐

  1. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器

    第14章_视图 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 常见的数据库对象 对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形 ...

  2. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?

    什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...

  3. oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别

    Oracle中存储过程和函数的区别 存储过程和函数:  www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...

  4. 数据库中存储过程和触发器的区别是什么

    今天给大家分享的是数据库中存储过程和触发器的区别是什么,很多人都不太了解,今天为了让大家更加了解数据库中存储过程和触发器的区别,所以给大家总结了以下内容,一起往下看吧.一定会有所收获的哦. 存储过程和 ...

  5. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  6. 金仓数据库KingbaseES数据库中存储过程和函数的区别

    关键字:存储过程 函数 KingbaseES数据库中存储过程和函数的区别如下表所示: 存储过程 函数 1 用于在数据库中完成特定的操作或者任务(如插入.删除等)  用于特定的数据(如选择) 2 程序头 ...

  7. mysql函数如何调用过程_MySQL调用存储过程和函数

    存储过程和存储函数都是存储在服务器端的 sql 语句集合.要想使用这些已经定义好的存储过程和存储函数就必须要通过调用的方式来实现. 存储过程通过 CALL 语句来调用,存储函数的使用方法与 MysqL ...

  8. mysql 过程和函数_MySQL:存储过程和函数

    变量 系统变量 变量由系统提供,不是用户自定义的,属于服务器层面 全局变量 会话变量 # 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是会话 # 查看 ...

  9. mysql中数据表null什么意思_MySQL 中NULL和空值的区别是什么?

    展开全部 空值是不占用空间的,MySQL中的NULL其实是占用空间的. 不过在MySQL数据库中执行62616964757a686964616fe78988e69d8331333363396466SQ ...

最新文章

  1. https是如何保证数据传输的安全
  2. bugku杂项题 白哥的鸽子 栅栏密码解密在线网站
  3. int类型存小数 mysql_2020年最新版MySQL面试题(一)
  4. 网络编程 socket介绍
  5. Python学习---Django的基础操作180116
  6. 自监督学习推荐系统综述: 150篇自监督推荐系统文献概述四大类方法(含开源算法库SELFRec)...
  7. Windows 10 PC 安装 Docker CE
  8. 双android手机同步工具,android手机同步数据PC(SyncDroid)
  9. repo打了 tag之后如何提交tag_技术开发者应该如何构建小团队的微服务方案?
  10. MySQL 字符集和校对
  11. MySQL表设计(表的关联关系)
  12. LINUX内核内存管理kmalloc,vmalloc
  13. lora三层服务器协议,LoRa以及LoRa包含的几种协议
  14. word标题大纲级别_word中级别设置 如何快速设置word大纲级别?
  15. 两万字博文教你python爬虫requests库【详解篇】
  16. VC2010 MFC程序制作Flash动画欢迎界面
  17. Win10 重装系统后,在此计算机上自动解锁此驱动器,提示:数据错误(循环冗余检查)
  18. 图的表示(无权图和有权图)
  19. 免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比
  20. 微信被误封号怎么办?详解微信封号的底层逻辑

热门文章

  1. svn增量打包部署_持续集成、持续交付、持续部署(CI/CD)简介
  2. Oracle存在修改,不存在插入记录
  3. jetty9.x版本配置优化
  4. Java第十次作业--多线程
  5. Fastjson反序列化漏洞研究
  6. 剑指offer66题 -- 输入一个链表,从尾到头打印链表每个节点的值
  7. Visual Studio 2015上安装Entity Framework Power Tools
  8. ShellExecute, WinExec, CreateProcess区别
  9. 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。...
  10. MapReduce PLinq 简单示例