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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql数据库入门教程(14):函数

發布時間:2024/9/30 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库入门教程(14):函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數

#函數
/*
含義:一組預先編譯好的SQL語句的集合,理解成批處理語句
1、提高代碼的重用性
2、簡化操作
3、減少了編譯次數并且減少了和數據庫服務器的連接次數,提高了效率

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

一.創建語法

語法:

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

注意:

1.參數列表 包含兩部分:
參數名 參數類型
2.函數體:肯定會有return語句,如果沒有會報錯
如果return語句沒有放在函數體的最后也不報錯,但不建議
return 值;
3.函數體中僅有一句話,則可以省略begin end
4.使用 delimiter語句設置結束標記

二.調用語法

SELECT 函數名(參數列表) 結束標志

三.案例

用到的資源數據鏈接
個人mysql文件資源.zip

#1.無參有返回
#案例:返回公司的員工個數
在cmd命令行中執行,管理員身份。

也可以在SQLyang中

第一步進入數據庫

第二步:
DELIMITER $ #結束以前的,一個優秀習慣,可以不要

DELIMITER $ CREATE FUNCTION myf1() RETURNS INT BEGINDECLARE c INT DEFAULT 0;#定義局部變量SELECT COUNT(*) INTO c#賦值FROM employees;RETURN c;END $

第三步:調用

SELECT myf1()$

$ 結束標志
結果108行數據

sqlyang中創建和查詢


0tPQkVZVTY1MjQ1Mw==,size_16,color_FFFFFF,t_70#pic_center)

#2.有參有返回
#案例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') $ 執行成功,但返回值有多個,表中叫k_ing有兩個。 換一個人查詢,結果成功返回

四.查看函數

語法:

SHOW CREATE FUNCTION 函數名;

寫的函數在sqlyang客戶端中的位置

查看

五.刪除函數

語法:

DROP FUNCTION 函數名;

案例總結

#案例 #一、創建函數,實現傳入兩個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数据库入门教程(14):函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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