濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > mysql自定義函數(shù)原理與用法實(shí)例分析

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

熱門標(biāo)簽:鄭州網(wǎng)絡(luò)外呼系統(tǒng)價(jià)錢 400電話到哪辦理優(yōu)惠 怎么更改高德地圖標(biāo)注 云南大數(shù)據(jù)外呼系統(tǒng) 博樂電銷機(jī)器人 南寧外呼系統(tǒng)招商 機(jī)器人打電銷電話 電話機(jī)器人是電腦呼號(hào)嗎 上海市三維地圖標(biāo)注

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

本文內(nèi)容:

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

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


什么是函數(shù):

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

補(bǔ)充:

  • 函數(shù)與存儲(chǔ)過程的區(qū)別:函數(shù)只會(huì)返回一個(gè)值,不允許返回一個(gè)結(jié)果集。函數(shù)強(qiáng)調(diào)返回值,所以函數(shù)不允許返回多個(gè)值的情況,即使是查詢語句。
    -- 不行的代碼: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ù)類型
  • 示例:
    -- 最簡(jiǎn)單的僅有一條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");

補(bǔ)充:

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

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

  • 直接使用函數(shù)名()就可以調(diào)用【雖然這么說,但返回的是一個(gè)結(jié)果,sql中不使用select的話任何結(jié)果都無法顯示出來(所以單純調(diào)用會(huì)報(bào)錯(cuò)),】
  • 如果想要傳入?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的選項(xiàng),不能修改內(nèi)部的sql語句和參數(shù)列表。
  • alter function 函數(shù)名 選項(xiàng);

函數(shù)的刪除:

  • drop function 函數(shù)名;

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

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

您可能感興趣的文章:
  • MySQL 自定義函數(shù)CREATE FUNCTION示例
  • 深入mysql創(chuàng)建自定義函數(shù)與存儲(chǔ)過程的詳解
  • MySQL中文漢字轉(zhuǎn)拼音的自定義函數(shù)和使用實(shí)例(首字的首字母)
  • 淺談mysql 自定義函數(shù)
  • Mysql中實(shí)現(xiàn)提取字符串中的數(shù)字的自定義函數(shù)分享
  • mysql建立自定義函數(shù)的問題
  • MySQL自定義函數(shù)簡(jiǎn)單用法示例
  • 關(guān)于MySQL的存儲(chǔ)函數(shù)(自定義函數(shù))的定義和使用方法詳解
  • MYSQL自定義函數(shù)判斷是否正整數(shù)的實(shí)例代碼
  • MySQL自定義函數(shù)和存儲(chǔ)過程示例詳解
  • MySQL通過自定義函數(shù)實(shí)現(xiàn)遞歸查詢父級(jí)ID或者子級(jí)ID

標(biāo)簽:寧夏 定西 白銀 益陽(yáng) 澳門 秦皇島 杭州 恩施

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql自定義函數(shù)原理與用法實(shí)例分析》,本文關(guān)鍵詞  mysql,自定義,函數(shù),原理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql自定義函數(shù)原理與用法實(shí)例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql自定義函數(shù)原理與用法實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临泉县| 沧州市| 徐州市| 永吉县| 苍梧县| 尼勒克县| 岳阳市| 万安县| 如东县| 山阳县| 拉萨市| 炎陵县| 阳高县| 宁陵县| 武强县| 乐都县| 鄱阳县| 韩城市| 稷山县| 荆州市| 资阳市| 文山县| 灵武市| 乌拉特中旗| 丹东市| 德保县| 策勒县| 清河县| 丹阳市| 郯城县| 旬邑县| 化隆| 达尔| 扶风县| 兴山县| 石屏县| 自治县| 射阳县| 灌阳县| 崇州市| 淳安县|