日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

十四、MySQL函数相关知识总结(简单易懂)

發布時間:2024/7/5 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十四、MySQL函数相关知识总结(简单易懂) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數

含義:一組預先編譯好的SQL語句的集合,理解成批處理語句

  • 提高代碼的重用性
  • 簡化操作
  • 減少了編譯次數并且減少了和數據庫服務器的連接次數,提高了效率
  • 區別

    存儲過程:可以有0個返回,也可以有多個返回,適合做批量插入、批量更新
    函數有且僅有1 個返回,適合做處理數據后返回一個結果

    一、創建語法

    CREATE FUNCTION 函數名(參數列表) RETURNS 返回類型
    BEGIN
    函數體
    END

    注意:

  • 參數列表 包含兩部分:
    參數名 參數類型

  • 函數體:肯定會有return語句,如果沒有會報錯
    如果return語句沒有放在函數體的最后也不報錯,但不建議
    return 值;

  • 函數體中僅有一句話,則可以省略begin end

  • 使用 delimiter語句設置結束標記

  • 二、調用語法

    SELECT 函數名(參數列表)

    案例演示

  • 無參有返回
  • #案例:返回公司的員工個數 CREATE FUNCTION myf1() RETURNS INT BEGINDECLARE c INT DEFAULT 0;#定義局部變量SELECT COUNT(*) INTO c#賦值FROM employees;RETURN c;END $SELECT myf1()$
  • 有參有返回
  • #案例1:根據員工名,返回它的工資CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE BEGINSET @sal=0;#定義用戶變量 SELECT salary INTO @sal #賦值FROM employeesWHERE last_name = empName;RETURN @sal; END $SELECT myf2('k_ing') $#案例2:根據部門名,返回該部門的平均工資CREATE FUNCTION myf3(deptName VARCHAR(20)) RETURNS DOUBLE BEGINDECLARE sal DOUBLE ;SELECT AVG(salary) INTO salFROM employees eJOIN departments d ON e.department_id = d.department_idWHERE d.department_name=deptName;RETURN sal; END $SELECT myf3('IT')$

    三、查看函數

    SHOW CREATE FUNCTION myf3;

    四、刪除函數

    DROP FUNCTION myf3;

    #案例 #一、創建函數,實現傳入兩個float,返回二者之和CREATE FUNCTION test_fun1(num1 FLOAT,num2 FLOAT) RETURNS FLOAT BEGINDECLARE SUM FLOAT DEFAULT 0;SET SUM=num1+num2;RETURN SUM; END $SELECT test_fun1(1,2)$

    總結

    以上是生活随笔為你收集整理的十四、MySQL函数相关知识总结(简单易懂)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。