久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

常用的MySQL函數(shù)有哪些

共計(jì) 4204 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。

這篇文章主要介紹了常用的 MySQL 函數(shù)有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

函數(shù)  

0. 顯示當(dāng)前時(shí)間

命令:select now()。

作用: 顯示當(dāng)前時(shí)間。

應(yīng)用場景: 創(chuàng)建時(shí)間,修改時(shí)間等默認(rèn)值。

例子:

mysql  select now();
+---------------------+
| now() |
+---------------------+
| 2017-12-27 20:14:56 |
+---------------------+
1 row in set (0.00 sec)

1. 字符長度

命令:select char_length(andyqan)。

作用: 顯示指定字符長度。

應(yīng)用場景: 查看字符長度時(shí)。

例子:

mysql  select char_length( andyqian 
+-------------------------+
| char_length(andyqian) |
+-------------------------+
| 8 |
+-------------------------+
1 row in set (0.00 sec)

2. 日期格式化

命令:select date_format(now(), %y-%m-%d)。

作用:格式化日期。

應(yīng)用場景:格式化日期時(shí)。

例子:

mysql  select date_format(now(), %y-%m-%d 
+-------------------------------+
| date_format(now(), %y-%m-%d ) |
+-------------------------------+
| 17-12-28 |
+-------------------------------+
1 row in set (0.00 sec)

這里支持的格式有:

%y:表示年(兩位數(shù)),例如: 17 年。
%Y:表示 4 位數(shù)中的年,例如: 2017 年
%m:表示月(1-12)
%d: 表示月中的天
%H: 小時(shí)(0-23)
%i: 分鐘 (0-59)
%s: 秒 (0-59)

年月日時(shí)分秒: %y-%m-%d %H:%i:%s,

如下所示:

mysql  select DATE_FORMAT(now(), %y-%m-%d %H:%i:%s 
+----------------------------------------+
| DATE_FORMAT(now(), %y-%m-%d %H:%i:%s ) |
+----------------------------------------+
| 17-12-27 20:28:54 |
+----------------------------------------+
1 row in set (0.00 sec)

3. 添加 / 減少日期時(shí)間

命令:

DATE_ADD(date,interval expr unit)
DATE_SUB(date,interval expr unit)

作用: 增加 / 減少日期時(shí)間

應(yīng)用場景:當(dāng)前時(shí)間的前一天,前幾分鐘。常用于數(shù)據(jù)統(tǒng)計(jì)。

例子:

mysql  select date_add(now(),interval 1 day);
+--------------------------------+
| date_add(now(),interval 1 day) |
+--------------------------------+
| 2017-12-28 20:10:17 |
+--------------------------------+
1 row in set (0.00 sec)

其中 Date 表示日期格式,其中就包括: 如

2017-12-27,now() 等格式。

expr:表示數(shù)量。

unit:表示單位,支持毫秒 (microsecond),秒(second),小時(shí)(hour),天(day),周(week),年(year) 等。

4. 類型轉(zhuǎn)換

命令:CAST(expr AS type)

作用: 主要用于顯示類型轉(zhuǎn)換

應(yīng)用場景:顯示類型轉(zhuǎn)換

例子:

mysql  select cast(18700000000 as char);
+---------------------------+
| cast(18700000000 as char) |
+---------------------------+
| 18700000000 |
+---------------------------+
1 row in set (0.00 sec)

需要注意的是,其中 type 支持的不是全部基本數(shù)據(jù)類型,支持的詳細(xì)類型,請(qǐng)參考之前的文章《談?wù)?MySQL 顯示類型轉(zhuǎn)換》。

5. 加密函數(shù)

命令:md5(data)

作用: 用于加密數(shù)據(jù)

應(yīng)用場景:加密,一些隱私數(shù)據(jù),例如銀行卡號(hào),身份證等需要存儲(chǔ)密文,(當(dāng)然,不建議使用數(shù)據(jù)庫層加密,應(yīng)該在應(yīng)用層加密)

例子:

mysql  select md5( andyqian 
+----------------------------------+
| md5(andyqian) |
+----------------------------------+
| 8a6f60827608e7f1ae29d1abcecffc3a |
+----------------------------------+
1 row in set (0.00 sec)

注意事項(xiàng): 如果目前你們數(shù)據(jù)庫中的數(shù)據(jù)還是明文,此時(shí)可以使用數(shù)據(jù)庫加密算法進(jìn)行加密。

例如: (僅做演示):

update t_base_user set name=md5(name),updated_time=now() where id=1;

支持的加密函數(shù)有:

md5()
des_encrypt(加密) / des_decrypt(解密);
sha1()
password()  等等

這里不再一一介紹,有興趣的同學(xué),可以移步至官網(wǎng)進(jìn)行詳細(xì)了解。

6. 字符串連接

命令:concat(str,str2,str3)

作用:拼接字符串

應(yīng)用場景:拼接字符串,例如在某些字段上同一加上指定字符串。

例子:

mysql  select concat( andy , qian 
+-----------------------+
| concat(andy , qian) |
+-----------------------+
| andyqian |
+-----------------------+
1 row in set (0.00 sec)

該函數(shù)平時(shí)也還是用的比較多的,基本上場景是,在某些數(shù)據(jù)上,加上特定的字符串。方法如下:

7. JSON 函數(shù)(5.7 版本才支持)

命令:json_object(函數(shù))

作用:轉(zhuǎn)換 json 字符串

應(yīng)用場景:指定數(shù)據(jù)轉(zhuǎn)換 json 字符串

例子:

mysql  select json_object( name , andyqian , database , MySQL 
+---------------------------------------------------+
| json_object(name , andyqian , database , MySQL) |
+---------------------------------------------------+
| {name :  andyqian ,  database :  MySQL} |
+---------------------------------------------------+
1 row in set (0.00 sec)

其中包括 json_array:

mysql  select json_array( name , andyqian , database , MySQL 
+--------------------------------------------------+
| json_array(name , andyqian , database , MySQL) |
+--------------------------------------------------+
| [name ,  andyqian ,  database ,  MySQL] |
+--------------------------------------------------+
1 row in set (0.00 sec)

判斷是否為 json 字符串的 json_valid():

select json_valid({ name :  andyqian ,  database :  MySQL}

其中為有效 json 字符串時(shí)為 1。

無效 json 字符串時(shí)為 0.

還有很多方法,不再一一演示。

8. 聚合函數(shù)

命令:sum(),count(),avg(),max(),min()

作用:統(tǒng)計(jì),求平均值,最大,最小值

應(yīng)用場景:這類函數(shù)非常常見,主要用于數(shù)據(jù)統(tǒng)計(jì),在 SQL 優(yōu)化方面,也適用。

例子:

mysql  select max(id) from t_base_user;
+---------+
| max(id) |
+---------+
| 2 |
+---------+
1 row in set (0.00 sec)

這里有個(gè)小技巧,如果主鍵是有序遞增的,當(dāng)需要有多少用戶時(shí),可以使用 max(id)來代替 count(*)函數(shù)。

9. distinct()

命令:distinct

作用:去重

應(yīng)用場景:需要統(tǒng)計(jì)類型,狀態(tài),計(jì)算區(qū)分度時(shí)。

例子:

mysql  select count(distinct(name))/count(*) from t_base_user;
+--------------------------------+
| count(distinct(name))/count(*) |
+--------------------------------+
| 0.6667 |
+--------------------------------+
1 row in set (0.00 sec)

感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“常用的 MySQL 函數(shù)有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-04發(fā)表,共計(jì)4204字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 滨海县| 双桥区| 普格县| 黄骅市| 章丘市| 保山市| 额敏县| 南宁市| 宜阳县| 师宗县| 且末县| 万源市| 措勤县| 长沙县| 新巴尔虎左旗| 化德县| 治多县| 台湾省| 虞城县| 临桂县| 比如县| 光泽县| 永登县| 牙克石市| 上高县| 达日县| 洛宁县| 茶陵县| 昆山市| 南澳县| 剑川县| 宝山区| 大厂| 池州市| 治多县| 利辛县| 沙河市| 察隅县| 兰溪市| 城市| 巴青县|