- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
泰牛程序员 PHP学院 PAGE \* Arabic 2 / NUMPAGES \* Arabic 3 . . MySQL-高级 TOC \o 1-3 \h \z \u 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, inout in, out, inout, 表示, 过程的参数的数据的传递方向. in: 由外向内传递 out: 由内向外传递 inout: 双向传递, 即可内向外, 也可外向内 内, 外, 指的是, 过程外和过程内. 创建 过程外的三个变量: 以三个变量作为实参, 调用过程: 在获取过程外三
文档评论(0)