开始MySQL之路——MySQL 函数(详细讲解)

MySQL 函数

在MySQL中,为了提高代码重用性和隐藏实现细节,MySQL提高了很多函数。函数可以理解为别人封装好的模块代码。

在MySQL中,函数非常多,主要可以分为以下大类:

  1. 聚合函数:这类函数就是用来做简单的数据统计的,聚合函数也被称为 “汇总函数”,(总和,平均数,最大最小值等)并不总是存储在表中。 但是,可以通过执行存储数据的计算来获取它。
  2. 数学函数: 这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。
  3. 字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的函数等。
  4. 日期和时间函数:这类函数主要用于处理日期和时间。其中包括取当前时间的函数、获取当前日期的函数、返回年份的函数、返回日期的函数等。
  5. 流程函数:这类函数主要用于在SQL语句中控制条件选择。其中包括IF语句、CASE语句、WHEN语句等。
  6. 系统信息函数:这类函数主要用于获取mysql数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数、获取数据库版本的函数等。
  7. 加密函数:这类函数主要用于对字符串进行加密解密。其中包括字符串加密函数、字符串解密函数等。
  8. 其他函数:包括格式化函数、锁函数等。

聚合函数

开始MySQL之路——MySQL 函数(详细讲解)_第1张图片

函数名称 作用
MAX 查询指定列的最大值
MIA 查询指定列的最小值
COUNT 统计查询结果的行数
SUM 求和,返回指定列的总和
AVG 求平均值,返回指定列数据的平均值

数字函数

 数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数、三角函数(包括正弦函数、余弦函数、正切函数、余切函数等)、对数函数、随机数函数等。在有错误产生时,数学函数将会返回空值NULL。

函数名 描述
ABS(x) 返回 x 的绝对值  
ACOS(x) 求 x 的反余弦值(参数是弧度)
ASIN(x) 求反正弦值(参数是弧度)
ATAN(x) 求反正切值(参数是弧度)
ATAN2(n, m) 求反正切值(参数是弧度)
AVG(expression) 返回一个表达式的平均值,expression 是一个字段
CEIL(x) 返回大于或等于 x 的最小整数 
CEILING(x) 返回大于或等于 x 的最小整数 
COS(x) 求余弦值(参数是弧度)
COT(x) 求余切值(参数是弧度)
COUNT(expression) 返回查询的记录总数,expression 参数是一个字段或者 * 号
DEGREES(x) 将弧度转换为角度  
n DIV m 整除,n 为被除数,m 为除数
EXP(x) 返回 e 的 x 次方  
FLOOR(x) 返回小于或等于 x 的最大整数  
GREATEST(expr1, expr2, expr3, ...) 返回列表中的最大值
LEAST(expr1, expr2, expr3, ...) 返回列表中的最小值
LN 返回数字的自然对数,以 e 为底。
LOG(x) 或 LOG(base, x) 返回自然对数(以 e 为底的对数),如果带有 base 参数,则 base 为指定带底数。  
LOG10(x) 返回以 10 为底的对数  
LOG2(x) 返回以 2 为底的对数
MAX(expression) 返回字段 expression 中的最大值
MIN(expression) 返回字段 expression 中的最小值
MOD(x,y) 返回 x 除以 y 以后的余数 
PI() 返回圆周率(3.141593)  
POW(x,y) 返回 x 的 y 次方 
POWER(x,y) 返回 x 的 y 次方 
RADIANS(x) 将角度转换为弧度  
RAND() 返回 0 到 1 的随机数  
ROUND(x) 返回离 x 最近的整数
SIGN(x) 返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1 
SIN(x) 求正弦值(参数是弧度)  
SQRT(x) 返回x的平方根  
SUM(expression) 返回指定字段的总和
TAN(x) 求正切值(参数是弧度)
TRUNCATE(x,y) 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入

字符串函数

函数名称 作 用 LENGTH 计算字符串长度函数,返回字符串的字节长度 CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个 INSERT 替换字符串函数 LOWER 将字符串中的字母转换为小写 UPPER 将字符串中的字母转换为大写 LEFT 从左侧字截取符串,返回字符串左边的若干个字符 RIGHT 从右侧字截取符串,返回字符串右边的若干个字符 TRIM 删除字符串左右两侧的空格 REPLACE 字符串替换函数,返回替换后的新字符串 SUBSTRING 截取字符串,返回从指定位置开始的指定长度的字符换 REVERSE 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串

日期和时间函数

函数名称 作 用 CURDATE和CURRENT_DATE 两个函数作用相同,返回当前系统的日期值 CURTIME和CURRENT_TIME 两个函数作用相同,返回当前系统的时间值 NOW和SYSDATE 两个函数作用相同,返回当前系统的日期和时间值 UNIX_TIMESTAMP 获取UNIX时间戳函数,返回一个以 UNIX 时间戳为基础的无符号整数 FROM_UNIXTIME 将 UNIX 时间戳转换为时间格式,与UNIX_TIMESTAMP互为反函数 MONTH 获取指定日期中的月份 MONTHNAME 获取指定日期中的月份英文名称 DAYNAME 获取指定曰期对应的星期几的英文名称 DAYOFWEEK 获取指定日期对应的一周的索引位置值 WEEK 获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53 DAYOFYEAR 获取指定曰期是一年中的第几天,返回值范围是1~366 DAYOFMONTH 获取指定日期是一个月中是第几天,返回值范围是1~31 YEAR 获取年份,返回值范围是 1970〜2069 TIME_TO_SEC 将时间参数转换为秒数 SEC_TO_TIME 将秒数转换为时间,与TIME_TO_SEC 互为反函数 DATE_ADD和ADDDATE 两个函数功能相同,都是向日期添加指定的时间间隔 DATE_SUB和SUBDATE 两个函数功能相同,都是向日期减去指定的时间间隔 ADDTIME 时间加法运算,在原始时间上添加指定的时间 SUBTIME 时间减法运算,在原始时间上减去指定的时间 DATEDIFF 获取两个日期之间间隔,返回参数 1 减去参数 2 的值 DATE_FORMAT 格式化指定的日期,根据参数返回指定格式的值 WEEKDAY 获取指定日期在一周内的对应的工作日索引

流程函数

函数名称 作用 IF 判断,流程控制 IFNULL 判断是否为空 CASE 搜索语句

系统信息函数

函数名 作用
VERSION 返回数据库版本号
CONNECTION_ID 返回服务器的连接数
DATABASE 返回当前数据库名
SHOW  PROCESSLIST 返回当前用户
USER 返回字符串的字符集
CHARSET 返回字符串排列方式
COLLATION 显示当前用户的链接信息

加密函数

函数名 作用
MD5 MD5函数是MySQL中最常用的加密函数之一。它可以将任何长度的字符串转换为一个128位的散列值。使用MD5函数进行加密时,可以将加密后的值存储在数据库中,以便进行比较和验证。
SHA1 SHA1函数是MySQL中另一个常用的加密函数。它可以将任何长度的字符串转换为一个160位的散列值。与MD5函数相比,SHA1函数提供更高的安全性,但同时也需要更长的计算时间。
ENCODE ENCODE函数可以使用指定的编码算法对字符串进行加密。它需要一个密钥来进行加密操作。使用ENCODE函数进行加密时,可以使用DECODE函数来进行解密。
AES_ENCRYPT cedcryptiondard (AES)算法对字符串进行加密。它需要一个密钥和一个初始化向量来进行加密操作。使用AES_ENCRYPT函数进行加密时,可以使用AES_DECRYPT函数来进行解密。
DES_ENCRYPT cryptiondard (DES)算法对字符串进行加密。它需要一个密钥来进行加密操作。使用DES_ENCRYPT函数进行加密时,可以使用DES_DECRYPT函数来进行解密。

MySQL提供了多种加密函数,可以根据需要选择合适的加密算法进行数据保护。在使用加密函数时,需要注意密钥的安全性,以免被破解。同时,也需要进行适当的加密强度测试,以确保加密后的数据能够有效地保护数据库的安全性。

你可能感兴趣的:(mysql数据库,mysql,数据库)