欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql的庫函數(shù)整理大全(非常詳細!)

 更新時間:2024年04月02日 09:55:07   作者:平時不搬磚  
MySQL數(shù)據(jù)庫中提供了很豐富的函數(shù),下面這篇文章主要給大家介紹了關于Mysql庫函數(shù)的相關資料,文中通過代碼介紹的非常詳細,對大家學習或者使用Mysql具有一定的參考借鑒價值,需要的朋友可以參考下

前言

MySQL是一個流行的開源關系型數(shù)據(jù)庫管理系統(tǒng),它提供了大量的內置庫函數(shù),用于在查詢時執(zhí)行各種操作。這些函數(shù)可以幫助開發(fā)者在數(shù)據(jù)檢索、轉換和處理過程中實現(xiàn)更復雜的邏輯。

1 字符串函數(shù)

函數(shù)描述
ASCII(s)返回字符串 s 的第一個字符的 ASCII 碼。
CHAR_LENGTH(s)返回字符串 s 的字符數(shù)
CONCAT(s1,s2…sn)字符串 s1,s2 等多個字符串合并為一個字符串
CONCAT_WS(x, s1,s2…sn)同 CONCAT(s1,s2,…) 函數(shù),但是每個字符串之間要加上 x,x 可以是分隔符
FIELD(s,s1,s2…)返回第一個字符串 s 在字符串列表(s1,s2…)中的位置
FIND_IN_SET(s1,s2)返回在字符串s2中與s1匹配的字符串的位置
INSERT(s1,x,len,s2)字符串 s2 替換 s1 的 x 位置開始長度為 len 的字符串
LOCATE(s1,s)從字符串 s 中獲取 s1 的開始位置
LCASE(s)將字符串 s 的所有字母變成小寫字母
LEFT(s,n)返回字符串 s 的前 n 個字符
LOWER(s)將字符串 s 的所有字母變成小寫字母
LPAD(s1,len,s2)在字符串 s1 的開始處填充字符串 s2,使字符串長度達到 len
LTRIM(s)去掉字符串 s 開始處的空格
MID(s,n,len)從字符串 s 的 n 位置截取長度為 len 的子字符串,同 SUBSTRING(s,n,len)
POSITION(s1 IN s)從字符串 s 中獲取 s1 的開始位置
REPEAT(s,n)將字符串 s 重復 n 次
REPLACE(s,s1,s2)將字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s)將字符串s的順序反過來
RIGHT(s,n)返回字符串 s 的后 n 個字符
RPAD(s1,len,s2)在字符串 s1 的結尾處添加字符串 s2,使字符串的長度達到 len
RTRIM(s)去掉字符串 s 結尾處的空格
SPACE(n)返回 n 個空格
STRCMP(s1,s2)比較字符串 s1 和 s2,如果 s1 與 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTR(s, start, length)從字符串 s 的 start 位置截取長度為 length 的子字符串
SUBSTRING(s, start, length)從字符串 s 的 start 位置截取長度為 length 的子字符串,等同于 SUBSTR(s, start, length)
SUBSTRING_INDEX(s, delimiter, number)返回從字符串 s 的第 number 個出現(xiàn)的分隔符 delimiter 之后的子串。 如果 number 是正數(shù),返回第 number 個字符左邊的字符串。 如果 number 是負數(shù),返回第(number 的絕對值(從右邊數(shù)))個字符右邊的字符串。
TRIM(s)去掉字符串 s 開始和結尾處的空格
UCASE(s)將字符串轉換為大寫
UPPER(s)將字符串轉換為大寫

2 數(shù)字函數(shù)

函數(shù)名描述
ABS(x)返回 x 的絕對值
ACOS(x)求 x 的反余弦值(單位為弧度),x 為一個數(shù)值
ASIN(x)求反正弦值(單位為弧度),x 為一個數(shù)值
ATAN(x)求反正切值(單位為弧度),x 為一個數(shù)值
ATAN2(n, m)求反正切值(單位為弧度)
AVG(expression)返回一個表達式的平均值,expression 是一個字段
CEIL(x)返回大于或等于 x 的最小整數(shù)
CEILING(x)返回大于或等于 x 的最小整數(shù)
COS(x)求余弦值(參數(shù)是弧度)
COT(x)求余切值(參數(shù)是弧度)
COUNT(expression)返回查詢的記錄總數(shù),expression 參數(shù)是一個字段或者 * 號
DEGREES(x)將弧度轉換為角度
n DIV m整除,n 為被除數(shù),m 為除數(shù)
EXP(x)返回 e 的 x 次方
FLOOR(x)返回小于或等于 x 的最大整數(shù)
GREATEST(expr1, expr2, expr3, …)返回列表中的最大值
LEAST(expr1, expr2, expr3, …)返回列表中的最小值
LN返回數(shù)字的自然對數(shù),以 e 為底。
LOG(x) 或 LOG(base, x)返回自然對數(shù)(以 e 為底的對數(shù)),如果帶有 base 參數(shù),則 base 為指定帶底數(shù)。
LOG10(x)返回以 10 為底的對數(shù)
LOG2(x)返回以 2 為底的對數(shù)
MAX(expression)返回字段 expression 中的最大值
MIN(expression)返回字段 expression 中的最小值
MOD(x,y)返回 x 除以 y 以后的余數(shù)
PI()返回圓周率(3.141593)
POW(x,y)返回 x 的 y 次方
POWER(x,y)返回 x 的 y 次方
RADIANS(x)將角度轉換為弧度
RAND()返回 0 到 1 的隨機數(shù)
ROUND(x [,y])返回離 x 最近的整數(shù),可選參數(shù) y 表示要四舍五入的小數(shù)位數(shù),如果省略,則返回整數(shù)。
SIGN(x)返回 x 的符號,x 是負數(shù)、0、正數(shù)分別返回 -1、0 和 1
SIN(x)求正弦值(參數(shù)是弧度)
SQRT(x)返回x的平方根
SUM(expression)返回指定字段的總和
TAN(x)求正切值(參數(shù)是弧度)
TRUNCATE(x,y)返回數(shù)值 x 保留到小數(shù)點后 y 位的值(與 ROUND 最大的區(qū)別是不會進行四舍五入)

3 日期函數(shù)

函數(shù)名描述
ADDDATE(d,n)計算起始日期 d 加上 n 天的日期
ADDTIME(t,n)n 是一個時間表達式,時間 t 加上時間表達式 n
CURDATE()返回當前日期
CURRENT_DATE()返回當前日期
CURRENT_TIME返回當前時間
CURRENT_TIMESTAMP()返回當前日期和時間
CURTIME()返回當前時間
DATE()從日期或日期時間表達式中提取日期值
DATEDIFF(d1,d2)計算日期 d1->d2 之間相隔的天數(shù)
DATE_ADD(d,INTERVAL expr type)計算起始日期 d 加上一個時間段后的日期,type 值可以是: MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
DATE_FORMAT(d,f)按表達式 f的要求顯示日期 d
DATE_SUB(date,INTERVAL expr type)函數(shù)從日期減去指定的時間間隔。
DAY(d)返回日期值 d 的日期部分
DAYNAME(d)返回日期 d 是星期幾,如 Monday,Tuesday
DAYOFMONTH(d)計算日期 d 是本月的第幾天
DAYOFWEEK(d)日期 d 今天是星期幾,1 星期日,2 星期一,以此類推
DAYOFYEAR(d)計算日期 d 是本年的第幾天
EXTRACT(type FROM d)從日期 d 中獲取指定的值,type 指定返回的值。 type可取值為: MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
FROM_DAYS(n)計算從 0000 年 1 月 1 日開始 n 天后的日期
HOUR(t)返回 t 中的小時值
LAST_DAY(d)返回給給定日期的那一月份的最后一天
LOCALTIME()返回當前日期和時間
LOCALTIMESTAMP()返回當前日期和時間
MAKEDATE(year, day-of-year)基于給定參數(shù)年份 year 和所在年中的天數(shù)序號 day-of-year 返回一個日期
MAKETIME(hour, minute, second)組合時間,參數(shù)分別為小時、分鐘、秒
MICROSECOND(date)返回日期參數(shù)所對應的微秒數(shù)
MINUTE(t)返回 t 中的分鐘值
MONTHNAME(d)返回日期當中的月份名稱,如 November
MONTH(d)返回日期d中的月份值,1 到 12
NOW()返回當前日期和時間
PERIOD_ADD(period, number)為 年-月 組合日期添加一個時段
PERIOD_DIFF(period1, period2)返回兩個時段之間的月份差值
QUARTER(d)返回日期d是第幾季節(jié),返回 1 到 4
SECOND(t)返回 t 中的秒鐘值
SEC_TO_TIME(s)將以秒為單位的時間 s 轉換為時分秒的格式
STR_TO_DATE(string, format_mask)將字符串轉變?yōu)槿掌?/td>
SUBDATE(d,n)日期 d 減去 n 天后的日期
SUBTIME(t,n)時間 t 減去 n 秒的時間
SYSDATE()返回當前日期和時間
TIME(expression)提取傳入表達式的時間部分
TIME_FORMAT(t,f)按表達式 f 的要求顯示時間 t
TIME_TO_SEC(t)將時間 t 轉換為秒
TIMEDIFF(time1, time2)計算時間差值
TIMESTAMP(expression, interval)單個參數(shù)時,函數(shù)返回日期或日期時間表達式;有2個參數(shù)時,將參數(shù)加和
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)計算時間差,返回 datetime_expr2 − datetime_expr1 的時間差
TO_DAYS(d)計算日期 d 距離 0000 年 1 月 1 日的天數(shù)
WEEK(d)計算日期 d 是本年的第幾個星期,范圍是 0 到 53
WEEKDAY(d)日期 d 是星期幾,0 表示星期一,1 表示星期二
WEEKOFYEAR(d)計算日期 d 是本年的第幾個星期,范圍是 0 到 53
YEAR(d)返回年份
YEARWEEK(date, mode)返回年份及第幾周(0到53),mode 中 0 表示周天,1表示周一,以此類推

4 聚合函數(shù)

聚合函數(shù)需要配合MySQL的分組查詢使用

函數(shù)名描述
max(column)查詢指定字段值中的最大值。
min(column)查詢指定字段值中的最小值。
count(column)統(tǒng)計查詢結果中的行數(shù)。
sum(column)求和指定字段的所有值。
avg(column)對指定字段的所有值,求出平均值。
group_concat(column)返回指定字段所有值組合成的結果
distinct(column)對于查詢結果中的指定的字段去重。

5 控制流程函數(shù)

跟其他語言的控制流程類型,成立走這個分支,不成立走其他的分支

函數(shù)名描述
if(expr,r1,r2)expr是表達式,如果成立返回r1,否則返回r2
ifnull(v,r)如果v不為null則返回v,否則返回r
nullif(v1,v2)如果v1 == v2,則返回null,如果不相等則返回V1

6 加密函數(shù)

MySQL自帶了對密碼進行加密的函數(shù),支持多種對稱加密和非對稱加密的方式

函數(shù)名描述
password(str)str字符串以數(shù)據(jù)庫密碼的形式加密
md5(str)str字符串以MD5不可逆算法模式加密
encode(str,key)通過key密鑰對str字符串進行加密(對稱加密算法)。
decode(str,key)通過key密鑰對str字符串進行解密。
aes_encrypt(str,key)通過key密鑰對str字符串,以AES算法進行加密。
aes_decrypt(str,key)通過key密鑰對str字符串,以AES算法進行解密。
sha(str)計算str字符串的散列算法校驗值。
encrypt(str,salt)使用salt鹽值對str字符串進行加密。
decrypt(str,salt)使用salt鹽值對str字符串進行解密。

總結

到此這篇關于Mysql的庫函數(shù)整理大全的文章就介紹到這了,更多相關Mysql庫函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mysql 5.6添加修改用戶名和密碼的方法

    Mysql 5.6添加修改用戶名和密碼的方法

    這篇文章主要介紹了Mysql 5.6添加修改用戶名和密碼的方法,需要的朋友可以參考下
    2017-07-07
  • Mysql去重的幾種方式分步講解

    Mysql去重的幾種方式分步講解

    SQL去重是數(shù)據(jù)分析工作中比較常見的一個場景,下面這篇文章主要給大家介紹了關于SQL去重的3種實用方法的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Mysql實驗之使用explain分析索引的走向

    Mysql實驗之使用explain分析索引的走向

    索引是mysql的必須要掌握的技能,同時也是提供mysql查詢效率的手段。通過以下的一個實驗可以理解?mysql的索引規(guī)則,同時也可以不斷的來優(yōu)化sql語句
    2018-01-01
  • MySQL和Oracle批量插入SQL的通用寫法示例

    MySQL和Oracle批量插入SQL的通用寫法示例

    當我們要往數(shù)據(jù)庫中批量保存多條數(shù)據(jù)得時候,分不同數(shù)據(jù)庫,有不同得插入方式,這篇文章主要給大家介紹了關于MySQL和Oracle批量插入SQL的通用寫法的相關資料,需要的朋友可以參考下
    2021-11-11
  • mysql數(shù)據(jù)庫如何求時間差

    mysql數(shù)據(jù)庫如何求時間差

    這篇文章主要給大家介紹了關于mysql數(shù)據(jù)庫如何求時間差的相關資料,MySQL提供了許多用于計算時間差的函數(shù),可以方便地計算兩個時間之間的時間差、取出時間段中的時間間隔等,需要的朋友可以參考下
    2023-08-08
  • Mysql深入探索之Explain執(zhí)行計劃詳析

    Mysql深入探索之Explain執(zhí)行計劃詳析

    這篇文章主要給大家介紹了關于Mysql深入探索之Explain執(zhí)行計劃的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • MySQL通過日志恢復數(shù)據(jù)的操作步驟

    MySQL通過日志恢復數(shù)據(jù)的操作步驟

    在MySQL中恢復誤刪除的數(shù)據(jù)是一個常見但復雜的問題,具體的方法取決于幾個因素,包括您是否有備份、使用的是哪種存儲引擎(如InnoDB或MyISAM)、以及您的數(shù)據(jù)庫配置等,本文給大家介紹了MySQL通過日志恢復數(shù)據(jù)的操作步驟,需要的朋友可以參考下
    2024-12-12
  • mysql too many open connections問題解決方法

    mysql too many open connections問題解決方法

    這篇文章主要介紹了mysql too many open connections問題解決方法,其實是max_connections配置問題導致,它必須在[mysqld]下面才會生效,需要的朋友可以參考下
    2014-05-05
  • win10 mysql 5.6.35 winx64免安裝版配置教程

    win10 mysql 5.6.35 winx64免安裝版配置教程

    這篇文章主要為大家詳細介紹了win10 mysql 5.6.35 winx64免安裝版配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • MySQL中主鍵與rowid的使用陷阱總結

    MySQL中主鍵與rowid的使用陷阱總結

    這篇文章主要給大家總結介紹了關于MySQL中主鍵與rowid的使用陷阱,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-10-10

最新評論