Mysql是一款關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),通過(guò)內(nèi)建的函數(shù)可以做到更加強(qiáng)大的查詢和處理數(shù)據(jù)。也就是所謂的mysql func,在應(yīng)用中極其重要。
MySQL內(nèi)建了大量的函數(shù),包括字符串函數(shù)、日期時(shí)間函數(shù)、數(shù)學(xué)函數(shù)、修訂函數(shù)等,用于對(duì)數(shù)據(jù)進(jìn)行各種操作。其中比較常用的函數(shù)有:
SELECT CONCAT('My', 'SQL'); -- 返回MySQL SELECT LENGTH('mysql func'); -- 返回10 SELECT NOW(); -- 返回當(dāng)前時(shí)間 例如:2019-10-11 12:31:00 SELECT YEAR(NOW()); -- 返回當(dāng)前年份 例如:2019 SELECT AVG(score) FROM students; -- 計(jì)算學(xué)生成績(jī)的平均數(shù) SELECT COUNT(*) FROM students; -- 返回學(xué)生表中記錄總數(shù) SELECT MAX(score) FROM students; -- 返回學(xué)生成績(jī)的最高分 SELECT MIN(score) FROM students; -- 返回學(xué)生成績(jī)的最低分
以上是一些mysql func的例子,這些函數(shù)帶有不同的參數(shù),并且有不同的作用。在實(shí)際的應(yīng)用中,根據(jù)具體要求,選擇不同的函數(shù),可以大大提高處理數(shù)據(jù)的效率。
當(dāng)然小伙伴們也可以自己定義函數(shù)。函數(shù)是一個(gè)以關(guān)鍵字 DELIMITER(分隔符)開(kāi)始的語(yǔ)句塊。例如,我們可以定義一個(gè)返回輸入字符串第一個(gè)字母的函數(shù):
DELIMITER $$ CREATE FUNCTION first_letter(input_string VARCHAR(255)) RETURNS CHAR(1) BEGIN DECLARE firstchar CHAR(1); IF input_string != '' THEN SET firstchar = LEFT(input_string, 1); ELSE SET firstchar = NULL; END IF; RETURN firstchar; END $$ DELIMITER ;
以上函數(shù)叫做 first_letter,參數(shù) input_string 是一個(gè)VARCHAR數(shù)據(jù)類型的輸入,返回類型是 CHAR。我們可以用以下語(yǔ)句來(lái)測(cè)試它:
SELECT first_letter('mysql func'); -- 返回 m
在實(shí)際開(kāi)發(fā)過(guò)程中,mysql func能夠方便地處理各種復(fù)雜的查詢和數(shù)據(jù)操作,提高處理效率,漸漸才發(fā)現(xiàn)mysql func的真正魅力所在。因此,學(xué)習(xí)mysql func, 將會(huì)讓你的mysql應(yīng)用更加得心應(yīng)手。