mysql中函数的应用

mysql中函数的应用

ID:39973273

大小:2.38 MB

页数:29页

时间:2019-07-16

mysql中函数的应用_第1页
mysql中函数的应用_第2页
mysql中函数的应用_第3页
mysql中函数的应用_第4页
mysql中函数的应用_第5页
资源描述:

《mysql中函数的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、函数1mysql中函数的应用什么是函数2函数是事先经过编译并存储在数据库中的一段sql语句的集合调用函数可以简化应用开发人员的很多工作减少数据在数据库和应用服务器之间的传输对于提高数据处理的效率是有好处的函数必须有返回值函数基本结构3说明:mysql函数的语法比较严格,说明如下:1,定义分割符防止遇到”;”语句结束2,创建函数名注意myfun()不要忘记()3,函数返回类型只能返回mysql列所具有的数据类型,注意:是returns不是return4,函数主体开始注意:以上4句后面都没有分号5,所执行

2、的业务注意这句后面有分号6,此函数的返回值要和3定义的类型匹配后面有分号结束7,函数主题结束后面有分割符8,函数结束注意后面有分号没有参数的函数调用自定义函数:和调用普通的函数一样,如:selectmyfun();会返回一个字符串函数基本结构4说明:1:所接受的参数有参数的函数DELIMITER$$CREATEFUNCTIONmyfun(strVARCHAR(20))RETURNSVARCHAR(20)BEGINRETURNstr;END$$DELIMITER;--1变量的定义5说明:通过DECLAR

3、E可以定义一个局部变量,该变量的作用范围只能在GEGIN…END块中,可以用在嵌套的块中.变量的定义必须写在复合语句的开头,并且在任何其他语句的前面,如果需要可以使用DEFAULT赋默认值例如:DECLAREmunumINTDEFAULT10;定义变量BEGINDECLAREtempVARCHAR(20);END变量的赋值6说明:通过DECLARE可以定义一个局部变量,该变量的作用范围只能在GEGIN…END块中,可以用在嵌套的块中.变量的定义必须写在复合语句的开头,并且在任何其他语句的前面,如果需要

4、可以使用DEFAULT赋默认值例如:DECLAREmunumINTDEFAULT10;变量赋值BEGINDECLAREtempVARCHAR(20);SETtemp=‘helloworld’;END使用SET赋值案例分析1-17问题:自定义函数完成类似REPLACE()函数的功能案例分析1-28分析:函数需要3个参数:1,原始字符串2,源字符串3,目标字符串案例分析1-39DELIMITER$$CREATEFUNCTIONmyreplace(strVARCHAR(50),ystrVARCHAR(50)

5、,mstrVARCHAR(50))RETURNSVARCHAR(50)BEGINRETURNREPLACE(str,ystr,mstr);END$$DELIMITER;案例分析2-110大家知道mysql中字符串转int会发生自动类型转换例如:select‘123’+0返回int那么如何将int转为字符串呢?自定义函数完成.案例分析2-211可以利用concat()函数将数值和空字符串连接出来DELIMITER$$CREATEFUNCTIONinttostring(tempINT)RETURNSVAR

6、CHAR(50)BEGINRETURNCONCAT(temp,'');END$$DELIMITER;测试:SELECTinttostring(123)存储过程12mysql中存储过程的应用什么是存储过程13定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用存储过程,即可自动完成命令14存储过程------------------------单个SELECT语句SELECT语句块SELECT语句与逻辑控制语

7、句可以包含什么是存储过程存储过程可以包含数据操纵语句、变量、逻辑控制语句等什么是存储过程15存储过程的优点:1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。3.存储过程可以重复使用,可减少数据库开发人员的工作量存储过程的基本结构16DEL

8、IMITER$$CREATEPROCEDUREmyprotest()BEGINSELECT*FROMstuinfo;END$$DELIMITER;和函数的语法很像如何调用存储过程?使用CALL关键字CALLmyprotest();sql编程-局部变量示例17问题:编写SQL查找李文才的左右同桌?学员信息表分析:第一步,找出“李文才“的座位号;第二步,李文才的座位号加1或减1局部变量示例参考语句18DELIMITER$$DROPPROCEDUREIFEXI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。