婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql自定義函數原理與用法實例分析

mysql自定義函數原理與用法實例分析

熱門標簽:鄭州網絡外呼系統價錢 400電話到哪辦理優惠 怎么更改高德地圖標注 云南大數據外呼系統 博樂電銷機器人 南寧外呼系統招商 機器人打電銷電話 電話機器人是電腦呼號嗎 上海市三維地圖標注

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

本文內容:

  • 什么是函數
  • 函數的創建
  • 函數的調用
  • 函數的查看
  • 函數的修改
  • 函數的刪除

首發日期:2018-04-18


什么是函數:

  • 函數存儲著一系列sql語句,調用函數就是一次性執行這些語句。所以函數可以降低語句重復。【但注意的是函數注重返回值,不注重執行過程,所以一些語句無法執行。所以函數并不是單純的sql語句集合。】
  • mysql函數有自己的自定義函數(已經定義好了的函數),想了解更多的可以參考我的另一篇博文:mysql常用函數
  • 這里主要介紹如何自定義函數。

補充:

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

函數的創建:

  • 語法:
    create function 函數名([參數列表]) returns 數據類型
    begin
     sql語句;
     return 值;
    end;
    • 參數列表的格式是:  變量名 數據類型
  • 示例:
    -- 最簡單的僅有一條sql的函數
    create function myselect2() returns int return 666;
    select myselect2(); -- 調用函數
    
    --
    create function myselect3() returns int
    begin 
      declare c int;
      select id from class where cname="python" into c;
      return c;
    end;
    select myselect3();
    -- 帶傳參的函數
    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:一個關于函數的描述
    • 還有一些比如sql security等選項,有興趣可以自行百度。這里不講解,僅一提有此知識點。

函數的調用:

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

函數的查看:

  • 查看函數創建語句:show create function 函數名;
  • 查看所有函數:show function status [like 'pattern'];

函數的修改:

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

函數的刪除:

  • drop function 函數名;

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

希望本文所述對大家MySQL數據庫計有所幫助。

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

標簽:寧夏 定西 白銀 益陽 澳門 秦皇島 杭州 恩施

巨人網絡通訊聲明:本文標題《mysql自定義函數原理與用法實例分析》,本文關鍵詞  mysql,自定義,函數,原理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql自定義函數原理與用法實例分析》相關的同類信息!
  • 本頁收集關于mysql自定義函數原理與用法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 松潘县| 策勒县| 得荣县| 鹤峰县| 那坡县| 巨野县| 盘锦市| 霞浦县| 新建县| 沙田区| 当涂县| 涡阳县| 防城港市| 忻城县| 改则县| 偃师市| 雅安市| 黄陵县| 崇礼县| 来凤县| 浮梁县| 新民市| 保康县| 钦州市| 台州市| 黔东| 伊吾县| 仪征市| 苏州市| 江北区| 宁蒗| 庆阳市| 黔江区| 瑞丽市| 江阴市| 宣城市| 常山县| 山西省| 迁西县| 武功县| 临江市|