最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql自定義函數(shù)原理與用法實例分析

 更新時間:2020年04月17日 11:53:23   作者:隨風行云  
這篇文章主要介紹了mysql自定義函數(shù),結(jié)合實例形式分析了mysql自定義函數(shù)基本功能、原理、用法及操作注意事項,需要的朋友可以參考下

本文實例講述了mysql自定義函數(shù)原理與用法。分享給大家供大家參考,具體如下:

本文內(nèi)容:

  • 什么是函數(shù)
  • 函數(shù)的創(chuàng)建
  • 函數(shù)的調(diào)用
  • 函數(shù)的查看
  • 函數(shù)的修改
  • 函數(shù)的刪除

首發(fā)日期:2018-04-18


什么是函數(shù):

  • 函數(shù)存儲著一系列sql語句,調(diào)用函數(shù)就是一次性執(zhí)行這些語句。所以函數(shù)可以降低語句重復?!镜⒁獾氖呛瘮?shù)注重返回值,不注重執(zhí)行過程,所以一些語句無法執(zhí)行。所以函數(shù)并不是單純的sql語句集合?!?/li>
  • mysql函數(shù)有自己的自定義函數(shù)(已經(jīng)定義好了的函數(shù)),想了解更多的可以參考我的另一篇博文:mysql常用函數(shù)
  • 這里主要介紹如何自定義函數(shù)。

補充:

  • 函數(shù)與存儲過程的區(qū)別:函數(shù)只會返回一個值,不允許返回一個結(jié)果集。函數(shù)強調(diào)返回值,所以函數(shù)不允許返回多個值的情況,即使是查詢語句。
    -- 不行的代碼:Not allowed to return a result set from a function
    create function myf()returns int 
    begin
    select * from student;
    return 100;
    end;

函數(shù)的創(chuàng)建:

  • 語法:
    create function 函數(shù)名([參數(shù)列表]) returns 數(shù)據(jù)類型
    begin
     sql語句;
     return 值;
    end;
    • 參數(shù)列表的格式是:  變量名 數(shù)據(jù)類型
  • 示例:
    -- 最簡單的僅有一條sql的函數(shù)
    create function myselect2() returns int return 666;
    select myselect2(); -- 調(diào)用函數(shù)
    
    --
    create function myselect3() returns int
    begin 
      declare c int;
      select id from class where cname="python" into c;
      return c;
    end;
    select myselect3();
    -- 帶傳參的函數(shù)
    create function myselect5(name varchar(15)) returns int
    begin 
      declare c int;
      select id from class where cname=name into c;
      return c;
    end;
    select myselect5("python");

補充:

  • 還可以有一些特別的選項,特別的選項寫在return  之后,begin之前,如:
    • comment:一個關于函數(shù)的描述
    • 還有一些比如sql security等選項,有興趣可以自行百度。這里不講解,僅一提有此知識點。

函數(shù)的調(diào)用:

  • 直接使用函數(shù)名()就可以調(diào)用【雖然這么說,但返回的是一個結(jié)果,sql中不使用select的話任何結(jié)果都無法顯示出來(所以單純調(diào)用會報錯),】
  • 如果想要傳入?yún)?shù)可以使用函數(shù)名(參數(shù))
  • 調(diào)用方式【下面調(diào)用的函數(shù)都是上面中創(chuàng)建的。】:
    -- 無參調(diào)用
    select myselect3();
    -- 傳參調(diào)用
    select myselect5("python");
    select * from class where id=myselect5("python");

函數(shù)的查看:

  • 查看函數(shù)創(chuàng)建語句:show create function 函數(shù)名;
  • 查看所有函數(shù):show function status [like 'pattern'];

函數(shù)的修改:

  • 函數(shù)的修改只能修改一些如comment的選項,不能修改內(nèi)部的sql語句和參數(shù)列表。
  • alter function 函數(shù)名 選項;

函數(shù)的刪除:

  • drop function 函數(shù)名;

更多關于MySQL相關內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關技巧匯總

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

相關文章

  • mysql中 ${param}與#{param}使用區(qū)別

    mysql中 ${param}與#{param}使用區(qū)別

    這篇文章主要介紹了mysql中 ${param}與#{param}使用區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Mysql字符串字段判斷是否包含某個字符串的2種方法

    Mysql字符串字段判斷是否包含某個字符串的2種方法

    這篇文章主要介紹了Mysql字符串字段判斷是否包含某個字符串的2種方法,本文使用Like和find_in_set兩種方法實現(xiàn),需要的朋友可以參考下
    2015-01-01
  • MySQL 存儲過程傳參數(shù)實現(xiàn)where id in(1,2,3,...)示例

    MySQL 存儲過程傳參數(shù)實現(xiàn)where id in(1,2,3,...)示例

    一個MySQL 存儲過程傳參數(shù)的問題想實現(xiàn)例如篩選條件為:where id in(1,2,3,...),下面有個不錯的示例,感興趣的朋友可以參考下
    2013-10-10
  • mysql查看死鎖與去除死鎖示例詳解

    mysql查看死鎖與去除死鎖示例詳解

    這篇文章主要給大家介紹了關于mysql查看死鎖與去除死鎖的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 線上MYSQL同步報錯故障處理方法總結(jié)(必看篇)

    線上MYSQL同步報錯故障處理方法總結(jié)(必看篇)

    下面小編就為大家?guī)硪黄€上MYSQL同步報錯故障處理方法總結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Mysql性能調(diào)優(yōu)之max_allowed_packet使用及說明

    Mysql性能調(diào)優(yōu)之max_allowed_packet使用及說明

    這篇文章主要介紹了Mysql性能調(diào)優(yōu)之max_allowed_packet使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • MySQL語句整理及匯總介紹

    MySQL語句整理及匯總介紹

    今天小編就為大家分享一篇關于MySQL語句整理及匯總介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MySQL timestamp與時區(qū)問題的解決

    MySQL timestamp與時區(qū)問題的解決

    本文主要介紹了MySQL timestamp與時區(qū)問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Mysql中如何刪除表重復數(shù)據(jù)

    Mysql中如何刪除表重復數(shù)據(jù)

    這篇文章主要介紹了Mysql中如何刪除表重復數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 關于MySQL死鎖的產(chǎn)生原因、檢測與解決方式

    關于MySQL死鎖的產(chǎn)生原因、檢測與解決方式

    這篇文章主要介紹了關于MySQL死鎖的產(chǎn)生原因、檢測與解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

从江县| 札达县| 会昌县| 宁津县| 嘉鱼县| 中方县| 西华县| 驻马店市| 芒康县| 新巴尔虎左旗| 哈尔滨市| 宜州市| 沅江市| 阜南县| 峨眉山市| 峡江县| 仙桃市| 美姑县| 彭州市| 金塔县| 奉新县| 东安县| 延吉市| 湖口县| 六盘水市| 阜宁县| 抚顺市| 醴陵市| 宁蒗| 安远县| 南木林县| 巴东县| 家居| 乌鲁木齐县| 福清市| 河池市| 博爱县| 正定县| 安国市| 固原市| 梁河县|