知识大全 MySQL数据库新特性之存储过程入门教程

Posted 语句

篇首语:既然选择远方,就注定风雨兼程。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 MySQL数据库新特性之存储过程入门教程相关的知识,希望对你有一定的参考价值。

MySQL数据库新特性之存储过程入门教程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

在MYSQL 中 终于引入了存储过程这一新特性 这将大大增强MYSQL 的数据库处理能力 在本文中 将指导读者快速掌握MYSQL 的存储过程的基本知识 带领用户入门

  存储过程介绍

  存储过程是一组为了完成特定功能的SQL语句集 经编译后存储在数据库中 用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它 存储过程可由应用程序通过一个调用来执行 而且允许用户声明变量 同时 存储过程可以接收和输出参数 返回执行存储过程的状态值 也可以嵌套调用

  存储过程的优点

  作为存储过程 有以下这些优点

  ( )减少网络通信量 调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别 可是如果存储过程包含上百行SQL语句 那么其性能绝对比一条一条的调用SQL语句要高得多

  ( )执行速度更快 存储过程创建的时候 数据库已经对其进行了一次解析和优化 其次 存储过程一旦执行 在内存中就会保留一份这个存储过程 这样下次再执行同样的存储过程时 可以从内存中直接中读取

  ( )更强的安全性 存储过程是通过向用户授予权限(而不是基于表) 它们可以提供对特定数据的访问 提高代码安全 比如防止 SQL注入

  ( ) 业务逻辑可以封装存储过程中 这样不仅容易维护 而且执行效率也高

  当然存储过程也有一些缺点 比如

   可移植性方面 当从一种数据库迁移到另外一种数据库时 不少的存储过程的编写要进行部分修改

   存储过程需要花费一定的学习时间去学习 比如学习其语法等

  在MYSQL中 推荐使用MYSQL Query Browswer()这个工具去进行存储过程的开发和管理 下面分步骤来学习MYSQL中的存储过程

   定义存储过程的结束符

  在存储过程中 通常要输入很多SQL语句 而SQL语句中每个语句以分号来结束 因此要告诉存储过程 什么位置是意味着整个存储过程结束 所以我们在编写存储过程前 先定义分隔符 我们这里定义 // 为分隔符 我们使用DELIMITER //这样的语法 就可以定义结束符了 当然你可以自己定义其他喜欢的符号

   如何创建存储过程

  下面先看下一个简单的例子 代码如下

DELIMITER //CREATEPROCEDURE `p ` ()LANGUAGE SQLDETERMINISTICSQL SECURITY DEFINERMENT  A procedure BEGINSELECT Hello World ! ;END//

  下面讲解下存储过程的组成部分

   )首先在定义好终结符后 使用CREATE PROCEDURE+存储过程名的方法创建存储过程 LANGUAGE选项指定了使用的语言 这里默认是使用SQL

   )DETERMINISTIC关键词的作用是 当确定每次的存储过程的输入和输出都是相同的内容时 可以使用该关键词 否则默认为NOT DETERMINISTIC

   ) SQL SECURITY关键词 是表示调用时检查用户的权限 当值为INVOKER时 表示是用户调用该存储过程时检查 默认为DEFINER 即创建存储过程时检查

   ) MENT部分是存储过程的注释说明部分

cha138/Article/program/MySQL/201404/30557

相关参考

知识大全 MySQL 5.0 新特性教程 存储过程:第二讲

MySQL5.0新特性教程存储过程:第二讲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Why

知识大全 MySQL 5.0新特性教程 存储过程:第一讲

MySQL5.0新特性教程存储过程:第一讲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Int

知识大全 MySQL数据库存储引擎详解

MySQL数据库存储引擎详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  存储引擎是什么?  

知识大全 oracle 10g 新特性中文笔记一

  第一章安装    目标    完成本课您将能够:    *列出新的安装特性  *列出安装性能的增加    安装新特性支持    *数据库存储选项  文件系统  自动存储管理(asm)  裸设备  

知识大全 PHP调用MySQL的存储过程

PHP调用MySQL的存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MySQL好像从开

知识大全 php调用MySQL存储过程的方法集合

php调用MySQL存储过程的方法集合  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文章是对p

知识大全 MySQL两种表存储结构性能比较测试过程

MySQL两种表存储结构性能比较测试过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MySQ

知识大全 mysql数据库find

  举个例子来说  有个文章表里面有个type字段他存储的是文章类型有头条推荐热点图文……等等  现在有篇文章他既是头条又是热点还是图文  type中以的格式存储  们我们如何用sql查找所有type

知识大全 oracle到mysql的迁移步骤及各种注意事项

  最近公司一个项目需要将数据库进行一次迁移从oracle到mysql网上资料甚少现将我本次迁移过程中所遇到的一些问题总结于此(主要是存储过程的迁移)希望能给自己做一个日后的参考如果有幸能帮助到大家更

知识大全 9i新特性之二安全篇

  这篇文章主要讲解应用程序客户端访问数据库的新特性有些地方理解不好  写得也不是很好请大家帮忙指正谢谢!  I安全认证拥有  解决了阻止未经认证的用户通过其他客户端访问数据的问题  在隐藏密码的实现