国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

什么是數(shù)據(jù)庫(kù)中的函數(shù)(庫(kù)函數(shù)與自定義函數(shù))

這篇具有很好參考價(jià)值的文章主要介紹了什么是數(shù)據(jù)庫(kù)中的函數(shù)(庫(kù)函數(shù)與自定義函數(shù))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

數(shù)據(jù)庫(kù)的庫(kù)函數(shù)

一、聚合函數(shù):

1、count:

二、日期時(shí)間函數(shù):

1:now:

2:data

3:time

4:date_format

三、常用的庫(kù)函數(shù)

1:upper

2:lower

3:substring

4:round

5:length

6:concat

7:database

8:user

9:power

四、其他函數(shù):

自定義函數(shù)的創(chuàng)建:

自定義函數(shù)function

1、 函數(shù)創(chuàng)建

2、函數(shù)調(diào)用

3、自定義函數(shù)的刪除

五、函數(shù)的調(diào)用與刪除:


數(shù)據(jù)庫(kù)的庫(kù)函數(shù)


高級(jí)語(yǔ)言一般都有自己的庫(kù)函數(shù),數(shù)據(jù)庫(kù)也不例外,在數(shù)據(jù)庫(kù)中也提供了一些用于實(shí)現(xiàn)特定功能的函數(shù)

一、聚合函數(shù):


在數(shù)據(jù)庫(kù)函數(shù)中,聚合函數(shù)是我們最常用的一類(lèi),所謂的聚合,就是對(duì)一組值進(jìn)行組合計(jì)算,返回單個(gè)值

1、count:


計(jì)數(shù)函數(shù):對(duì)元祖或者屬性計(jì)數(shù)
一般格式:count(屬性名)。

select count(*)from 表名 ;# '*'是對(duì)整個(gè)表的元祖進(jìn)行計(jì)數(shù)
select count(屬性名) from 表名 where 條件表達(dá)式;
# count 支持條件計(jì)數(shù),只計(jì)算有效值,不計(jì)算null值

-- 聚合函數(shù)就是對(duì)一組值進(jìn)行計(jì)算,結(jié)果返回單個(gè)值
-- 統(tǒng)計(jì)函數(shù)count
?? ?-- 統(tǒng)計(jì)學(xué)生人數(shù)
select count(s_id)學(xué)生人數(shù) from student;
-- 數(shù)據(jù)表中的屬性可以作為函數(shù)參數(shù)

-- 求最大值函數(shù)max
?? ?-- 求學(xué)生的最大年齡
select max(s_age) from student;
-- 求最大值min 求平均值avg ,求和sum

二、日期時(shí)間函數(shù):

1:now:

求當(dāng)前的日期和時(shí)間
一般格式:now()
如:select now();

2:data


求日期函數(shù)
一般格式:data (日期時(shí)間類(lèi)型的屬性名)。
如:select data(birthday) from student;


-- 獲取當(dāng)前日期時(shí)間now
select now();

-- 獲取日期函數(shù)date
?? ?-- 獲取指定日期時(shí)間類(lèi)型數(shù)據(jù)中的日期
select date("2020-09-15 08:30:23");


?? ?-- 獲取當(dāng)前時(shí)間
select time(now());


-- 將日期時(shí)間類(lèi)型裝換為字符串類(lèi)型date_format
?? ?-- 將當(dāng)前日期時(shí)間轉(zhuǎn)換成特定格式的字符串

select date_format(now(),"%Y-%m-%d %h:%i:%s");


-- 自定義分隔符
?? ?-

3:time


求時(shí)間函數(shù)
一般格式:time (日期時(shí)間類(lèi)型的屬性名)。
如:select time(birthday) from student;

4:date_format


時(shí)間日期類(lèi)型轉(zhuǎn)字符串類(lèi)型函數(shù)
一般格式:date_format(日期時(shí)間類(lèi)型,格式字符串)
如:select date_format(now(),"%Y%M%D:%H%i%s");
#格式字符串可用變量來(lái)代替

三、常用的庫(kù)函數(shù)

1:upper


小寫(xiě)字母轉(zhuǎn)大寫(xiě)字母函數(shù)
一般格式:upper(字符型屬性名)
如:select upper('abc');
#也可用ucase函數(shù)代替,如:select ucase ('abc');

2:lower


大寫(xiě)字母轉(zhuǎn)小寫(xiě)字母函數(shù)
一般格式:lower (字符型屬性名);
如:select upper('ABC');
#也可用lcase函數(shù)代替,如:select lcase("ABC");

3:substring


提取字符串函數(shù),以給定的參數(shù)求字符串中的一個(gè)子串。
一般格式:substrinig(字符串,start ,lenth);
#從字符串中第一個(gè)start個(gè)字符開(kāi)始取出長(zhǎng)度為length的字符串。
如:select substring('abc123@#$',4,3);#結(jié)果為123
#也可以用Mid 函數(shù)代替,如:select mid('abc123@#$',4,3);

4:round


四舍五入函數(shù)。(可代替floor函數(shù),用于取整)
一般格式:round(數(shù)值類(lèi)型[,精確位數(shù)]);
如:select round(1234.56);#不加精準(zhǔn)位數(shù)默認(rèn)精通到整數(shù)位
select round(123,456,2);#加上精準(zhǔn)位數(shù)就保留多少位小數(shù)

-- 獲取當(dāng)前操作的數(shù)據(jù)庫(kù)名database
select database();
-- 獲取當(dāng)前操作的用戶(hù)名user
select user();

5:length


返回字符串的長(zhǎng)度
一般格式:length(字符串)

6:concat


字符串連接函數(shù),連接多個(gè)字符串
一般格式:concat(字符串1,字符串2,....,字符串n)

7:database


返回當(dāng)前數(shù)據(jù)庫(kù)名
一般格式:database()

8:user


獲取當(dāng)前用戶(hù)名
基本格式:user()

9:power


求次方函數(shù)
一般格式:power(底數(shù),指數(shù));
如:select power(2,3); #求2的3次方的值
#可以用pow 函數(shù)代替power函數(shù),如:select pow(2,3);

#舉一反三
#既然有求次方函數(shù),是不是也有求次方根(開(kāi)方)函數(shù)呢?
答:沒(méi)有求次方根函數(shù)
# 那用什么求次方根(開(kāi)方)?
答:還是用pow函數(shù)。
如:pow(9,1/2);pow(4,0.5) # 只需要把指數(shù)改成小數(shù)或分?jǐn)?shù)

四、其他函數(shù):


除了之前講的函數(shù)之外,庫(kù)函數(shù)中還有其他函數(shù),如:求余mod ,隨機(jī)數(shù)rand,三角函數(shù)sin,cos,tan,arc tan,圓周率pi等。
數(shù)據(jù)庫(kù)的庫(kù)函數(shù)相當(dāng)于C語(yǔ)言的庫(kù)函數(shù)差不多,C語(yǔ)言庫(kù)函數(shù)里有的數(shù)據(jù)處理函數(shù),數(shù)據(jù)庫(kù)中基本都會(huì)有,但是Mysql中的函數(shù)不同于c語(yǔ)言中的函數(shù),mysql中的函數(shù)只用于數(shù)據(jù)處理,不會(huì)進(jìn)行其他命令行操作
除此之外,數(shù)據(jù)庫(kù)還可以像C語(yǔ)言一樣,自定義函數(shù)

自定義函數(shù)的創(chuàng)建:

創(chuàng)建自定義函數(shù)的基本格式:
create function 函數(shù)名 (函數(shù)參數(shù) 數(shù)據(jù)類(lèi)型)
returns 返回值類(lèi)型
begin
?? ?# 函數(shù)體
?? ?return (函數(shù)返回值)
end;

#8.0版本的數(shù)據(jù)庫(kù),增加了一個(gè)數(shù)據(jù)庫(kù)安全選項(xiàng)
需要執(zhí)行以下代碼才能創(chuàng)建函數(shù)
set global log_bin_trust_function_creators = true;

-- 數(shù)據(jù)庫(kù)中的函數(shù)只能用于數(shù)據(jù)處理,不可以用于實(shí)現(xiàn)其他功能

自定義函數(shù)function


?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433856.html


1、 函數(shù)創(chuàng)建

-- 求兩個(gè)數(shù)的和
create function sum1(n int,m int)
?? ?returns int -- 給定函數(shù)的返回值類(lèi)型
? ? return n+m; -- 函數(shù)體

-- error code:1418.this function has none of determinstic,no sql,or ...........

-- 如果出現(xiàn)上面的報(bào)錯(cuò),就是安全檢查問(wèn)題
-- 打開(kāi)安全檢查(如果自定義函數(shù)創(chuàng)建不了)
set global log_bin_trust_function_creators = true; -- 輸入這條語(yǔ)句,可以解決報(bào)錯(cuò)


2、函數(shù)調(diào)用


?

select sum1(10,20);

3、自定義函數(shù)的刪除

drop function sum1;

-- 數(shù)據(jù)庫(kù)中自定義函數(shù)使用的特別少,不用詳細(xì)了解

create function sum1(n int,m int)
?? ?returns int -- 給定函數(shù)的返回值類(lèi)型
? ? begin -- 相當(dāng)于c/c++中的{
? ? set n = n+m ; -- 復(fù)合語(yǔ)句
? ? return n+m; -- 函數(shù)體
? ? end; --相當(dāng)于c/c++中的}

-- begin end 相當(dāng)于c/c++中的括號(hào)


-- 數(shù)據(jù)庫(kù)中自定義函數(shù)使用的特別少,不用詳細(xì)了解
-- 如果在數(shù)據(jù)中進(jìn)行數(shù)據(jù)處理時(shí)需要有用到函數(shù)的,一般使用數(shù)據(jù)庫(kù)的庫(kù)函數(shù)就基本能夠完成了
-- 數(shù)據(jù)庫(kù)中的函數(shù)只能用于數(shù)據(jù)處理,不可以用于實(shí)現(xiàn)其他功能
-- 數(shù)據(jù)庫(kù)函數(shù)中無(wú)法執(zhí)行sql語(yǔ)句

五、函數(shù)的調(diào)用與刪除:


1、函數(shù)調(diào)用
函數(shù)調(diào)用的基本格式:
select 函數(shù)名 (函數(shù)參數(shù));
2、用表格數(shù)據(jù)作為函數(shù)參數(shù)
select 函數(shù)名(表格屬性) from 表名;
3、刪除函數(shù)
drop function 函數(shù)名;


?

到了這里,關(guān)于什么是數(shù)據(jù)庫(kù)中的函數(shù)(庫(kù)函數(shù)與自定義函數(shù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包