MySQL高级教程 笔记.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL-高级1标题1错误!未定义书签。1.1标题2错误!未定义书签。1.1.1标题3错误!未定义书签。概述MySQL中的SQL编程的话题.触发器, 存储函数, 存储过程以上的是三个名词, 在SQL编程中, 地位是: 程序的载体, 程序的结果.编程所涉及的要素:变量, 数据类型, 流程控制, 函数, 运算符, 表达式.函数内置函数MySQL自动提供的函数!例如: database(), now(), md5()自定义函数 – 存储函数用户定义定义的, 存储在MySQL中的函数.create function, 创建函数适用语法:来创建函数调用函数drop function , 删除函数 drop function [if exists] function-name;变量 – 编程要素程序 处理数据. 数据在程序中的容器, 就是变量.强类型全局变量函数外定义的变量变量不需要声明, 直接去设置即可!PS, 内置的变量: set autocommit = off, 不以 @开头局部变量函数内定义的变量使用declare来声明.不需要使用@, 表示是用户自定义变量.强类型, 定义的局部变量, 必须定义为某种类型, 类型的表述与字段的类型一致!重叠(嵌套)作用域局部内, 可访问到全局变量PS: 与JS保持一致1变量的赋值set 变量 = 值 select into 变量当需要为变量赋值的数据, 来源于SQL中select语句的查询结果时, 可以使用select into完成变量的赋值.一次性, 赋值多个变量:函数内, 也可以使用流程控制 – 编程要素循环和分支分支- IF测试结果内置分支函数: if()不是分支, 是典型的 三元运算, 的函数封装语法MySQL不支持三元运算符 ? :.分支-CASE测试结果循环 – while条件满足, 则循环继续其中标签, 用于在循环终止时, 一次性的终止多层循环! 类似于JS的语法. 例如:循环 – 终止终止当前循环:(continue), iterate终止全部:(break), leave终止, 都需要配合 循环语句的标签使用!ierate:leave:如果需要终止多层:需要在 后边跟随 不同的标签即可过程 – 存储过程 – procedure与函数类似, 都是一段功能代码的集合, 称之为过程.与函数不一样的是, 函数由于完成某个特定的操作点, 例如, md5(), 获取md5摘要信息, 不是用来实现某中也无路基操作, 而是就是实现特定的操作. 过程是, 某个特定的业务逻辑. 当我们需要使用SQL完成某件事时候, 使用过程, 而在过程的完成中, 需要一些特殊的操作, 就是函数.例如: 需要插入, 1000条记录到某测试表中, 此时就应该创建过程.而在插入的时候, 需要随机的获取学生的姓名, 就可以定义一个函数, 完成获取随机的学生姓名工作.映射到PHP程序: 浏览器所请求的一个URL, 对应的PHP代码, 就是一段过程. (例如, 商品添加, 用户注册), 就是过程.而在完成这个过程中, 需要将用户的密码做md5处理, md5就是函数.因此, 函数在意的是处理结果,函数具有返回值.而过程是一段执行, 不具有返回值.语法创建过程: create procedure注意: 没有返回值 参数有输入方式之分.过程内的写法, 与函数是一致的. 调用过程, call 过程()过程的调用不能出现在表达式中, 需要使用独立的语法进行独立调用. // 表达式中max(class_id) + 10;需要用 call删除过程, drop procedure参数的输入类型, in, out, inoutin, out, inout, 表示, 过程的参数的数据的传递方向. in: 由外向内传递out: 由内向外传递inout: 双向传递, 即可内向外, 也可外向内内, 外, 指的是, 过程外和过程内.创建 过程外的三个变量:以三个变量作为实参, 调用过程:在获取过程外三个变量的值:inout 双向传递, 类似于 PHP中的引用传递!由于过程没有返回值, 需要在过程处理后, 得到过程的处理结果数据, 就因该, 使用 带有out类型的参数.一个数据时被多个过程连续处理, 典型的需要 inout类型的参数.练习一个纯粹的MySQL管理员需要完成某些操作, 需要使用过程, MySQL自带的编程方式.例如, 需要创建大量的测试数据, 可以过程完成:确定测试表的结构确定需要插入的数据格式要求: 学号要 从1开始 递增.班级ID, 从1-100 随机姓名, 随机得来说明: 任意编程实现:编写, 需要的函数:获取班级ID生成名字:生成信息生成学号从1开始 递增it-0000001it-0000002取得已有的最大学号.调用过程即可:测

文档评论(0)

此项为空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档