千家信息网

MySQL函数有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编给大家分享一下MySQL函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL函数常用函数聚合函数数据库级
千家信息网最后更新 2026年10月31日MySQL函数有哪些

小编给大家分享一下MySQL函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

MySQL函数

  • 常用函数

  • 聚合函数

  • 数据库级别的MD5加密

常用函数

函数作用例子
ABS(x)返回x的绝对值SELECT ABS(-1) - 返回1
CEIL(x),CEILING(x)返回大于或等于x的最小整数SELECT CEIL(1.5) - 返回2
FLOOR(x)返回小于或等于x的最大整数SELECT FLOOR(1.5) - 返回1
RAND()返回0->1的随机数SELECT RAND() --0.6264973735683573
RAND(x)返回0->1的随机数,x值相同时返回的随机数相同SELECT RAND(2) - 1.5865798029924
SIGN(x)返回x的符号,x是负数、0、正数分别返回-1、0和1SELECT SIGN(-10) - (-1)
PI()返回圆周率(3.141593)SELECT PI()- 3.141593
TRUNCATE(x,y)返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)SELECT TRUNCATE(1.23456,3) - 1.234
ROUND(x)返回离x最近的整数SELECT ROUND(1.23456) - 1
ROUND(x,y)保留x小数点后y位的值,但截断时要进行四舍五入SELECT ROUND(1.23456,3) - 1.235
POW(x,y).POWER(x,y)返回x的y次方SELECT POW(2,3) - 8
SQRT(x)返回x的平方根SELECT SQRT(25) - 5
EXP(x)返回e的x次方SELECT EXP(3) - 20.085536923188
MOD(x,y)返回x除以y以后的余数SELECT MOD(5,2) - 1
LOG(x)返回自然对数(以e为底的对数)SELECT LOG(20.085536923188) - 3
LOG10(x)返回以10为底的对数SELECT LOG10(100) - 2
RADIANS(x)将角度转换为弧度SELECT RADIANS(180) - 3.1415926535898
DEGREES(x)将弧度转换为角度SELECT DEGREES(3.1415926535898) - 180
SIN(x)求正弦值(参数是弧度)SELECT SIN(RADIANS(30)) - 0.5
ASIN(x)求反正弦值(参数是弧度)
COS(x)求余弦值(参数是弧度)SELECT COS(RADIANS(30)) --0.5
ACOS(x)求反余弦值(参数是弧度)
TAN(x)求正切值(参数是弧度)SELECT TAN(RADIANS(45)) --1
ATAN(x) ATAN2(x)求反正切值(参数是弧度)
COT(x)求余切值(参数是弧度)
-- 数学运算SELECT ABS(-8) as 绝对值 -- 绝对值SELECT CEILING(9.4) -- 向上取整SELECT FLOOR(9.4)  -- 向下取整SELECT RAND() -- 返回一个 0-1 之间的随机数SELECT SIGN(-10)  -- 返回一个数的符号      0 返回 0  负数返回-1      正数返回 1

相关免费学习推荐:mysql视频教程

函数作用例子
CHAR_LENGTH(s)返回字符串s的字符数SELECT CHAR_LENGTH('你好123') - 5
LENGTH(s)返回字符串s的长度SELECT LENGTH('你好123') - 9
CONCAT(s1,s2,…)将字符串s1,s2等多个字符串合并为一个字符串SELECT CONCAT('12','34') - 1234
INSERT(s1,x,len,s2)将字符串s2替换s1的x位置开始长度为len的字符串SELECT INSERT('12345',1,3,'abc') - abc45
UPPER(s),UCAASE(S)将字符串s的所有字母变成大写字母SELECT UPPER('abc') - ABC
LOWER(s),LCASE(s)将字符串s的所有字母变成小写字母SELECT LOWER('ABC') - abc
LEFT(s,n)返回字符串s的前n个字符SELECT LEFT('abcde',2) - ab
RIGHT(s,n)返回字符串s的后n个字符SELECT RIGHT('abcde',2) - de
LPAD(s1,len,s2)字符串s2来填充s1的开始处,使字符串长度达到lenSELECT LPAD('abc',5,'xx') - xxabc
RPAD(s1,len,s2)字符串s2来填充s1的结尾处,使字符串的长度达到lenSELECT RPAD('abc',5,'xx') - abcxx
LTRIM(s)去掉字符串s开始处的空格
RTRIM(s)去掉字符串s结尾处的空格
TRIM(s)去掉字符串s开始和结尾处的空格
TRIM(s1 FROM s)去掉字符串s中开始处和结尾处的字符串s1SELECT TRIM('@' FROM '@@abc@@') - abc
REPEAT(s,n)将字符串s重复n次SELECT REPEAT('ab',3) - ababab
SPACE(n)返回n个空格
REPLACE(s,s1,s2)将字符串s2替代字符串s中的字符串s1SELECT REPLACE('abc','a','x') --xbc
STRCMP(s1,s2)比较字符串s1和s2
SUBSTRING(s,n,len)获取从字符串s中的第n个位置开始长度为len的字符串
MID(s,n,len)同SUBSTRING(s,n,len)
LOCATE(s1,s),POSITION(s1 IN s)从字符串s中获取s1的开始位置SELECT LOCATE('b', 'abc') - 2
INSTR(s,s1)从字符串s中获取s1的开始位置SELECT INSTR('abc','b') - 2
REVERSE(s)将字符串s的顺序反过来SELECT REVERSE('abc') - cba
ELT(n,s1,s2,…)返回第n个字符串SELECT ELT(2,'a','b','c') - b
FIELD(s,s1,s2…)返回第一个与字符串s匹配的字符串位置SELECT FIELD('c','a','b','c') - 3
FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置
-- 字符串函数SELECT CHAR_LENGTH('我们的征途是星辰和大海') -- 字符串的长度SELECT CONCAT('我','爱','猫猫')          -- 拼接字符串SELECT INSERT('我爱编程helloworld',1,2,'超级热爱')    -- 查询,从某个位置开始替换某个长度SELECT LOWER('MaoMao')     -- 小写字母SELECT UPPER('maomao') -- 全变大写SELECT INSTR('maonmao','n')    -- 返回第一次出现的子串的索引SELECT REPLACE('猫猫说坚持就能成功','坚持','努力') -- 替换出现的指定字符串SELECT SUBSTR('猫猫说坚持就能成功',4,3)     -- 返回指定的子字符串 (源字符串,截取的位置,截取的长度)SELECT REVERSE('猫猫说坚持就能成功')   -- 反转-- 查询有田的同学,将田改成猪SELECT REPLACE(studentname,'田','猪') FROM studentWHERE studentname LIKE '%田'
函数作用例子
CURDATE();CURRENT_DATE()返回当前日期SELECT CURDATE()-> 2021-01-09
NOW()返回当前日期和时间SELECT NOW()-> 2021-01-09 10:03:14
LOCALTIME()返回当前日期和时间SELECT LOCALTIME()-> 2021-01-09 10:03:14
UNIX_TIMESTAMP()以UNIX时间戳的形式返回当前时间SELECT UNIX_TIMESTAMP()->1617977084
-- 时间和日期函数(记住)SELECT CURRENT_DATE() -- 获取当前日期SELECT CURDATE()     -- 获取当前日期SELECT NOW() -- 获取当前的时间SELECT LOCALTIME()  -- 本地时间SELECT YEAR(NOW())SELECT MONTH(NOW())SELECT DAY(NOW())SELECT HOUR(NOW())SELECT MINUTE(NOW())SELECT SECOND(NOW())-- 系统SELECT SYSTEM_USER()SELECT USER()SELECT VERSION()

聚合函数

函数名称描述
COUNT()计数
SUM()求和
AVG()平均值
MAX()最大值
MIN()最小值
-- ================ 聚合函数 ============-- 都能够统计 表中的数据 (想查询一个表中有多少个记录,就是用这个count())SELECT COUNT(studentname) FROM student;     -- COUNT(指定列),会忽略所有的null值SELECT COUNT(borndate) FROM student;   -- 结果 8 少一个 因为是null SELECT COUNT(*) FROM student;      -- Count(*)        不会忽略所有的null值    本质 计算行数SELECT COUNT(1) FROM result; -- Count(1)        不会忽略所有的null值    本质 计算行数SELECT SUM(studentresult) AS 总和 FROM resultSELECT AVG(studentresult) AS 平均分 FROM resultSELECT MAX(studentresult) AS 最高分 FROM resultSELECT MIN(studentresult) AS 最低分 FROM result-- 查询不同课程的平均分,最高分,最低分-- 核心:根据不同的课程分组SELECT any_value(`subjectname`) AS 科目名,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分FROM result rINNER JOIN `subject` subON r.`subjectno` = sub.`subjectno`GROUP BY r.subjectno     -- 通过什么字段来分组-- 查询不同课程的平均分,最高分,最低分,平均分大于80SELECT any_value(`subjectname`) AS 科目名,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分FROM result rINNER JOIN `subject` subON r.`subjectno` = sub.`subjectno`GROUP BY r.subjectno       -- 通过什么字段来分组HAVING 平均分>50

数据库级别的MD5加密

什么是MD5

主要增强算法复杂度和不可逆性

MD5 不可逆,具体值的md5是一样的

MD5 破解网站的原理,背后有一个字典,MD5加密后的值:MD5加密前的值

-- ====================  测试MD5 加密  ===================CREATE TABLE `testmd5`(        `id` INT(4) NOT NULL,        `name` VARCHAR(20) NOT NULL,         `pwd` VARCHAR(50) NOT NULL,        PRIMARY KEY(`id`))ENGINE=INNODB DEFAULT CHARSET=utf8-- 明文密码INSERT INTO testmd5 VALUES(1,'zhangsan','123456'),(2,'lisi','123456'),(3,'wangwu','123456')-- 加密UPDATE testmd5 SET pwd=MD5(pwd) WHERE id = 1UPDATE testmd5 SET pwd=MD5(pwd) -- 加密全部的密码-- 插入的时候加密INSERT INTO testmd5 VALUES(4,'xiaoming',MD5('123456'))-- 如何校验:将用户传递进来的密码,进行md5加密,然后比对加密后的值SELECT  * FROM testmd5 WHERE `name`='xiaoming' AND pwd=MD5('123456')

以上是"MySQL函数有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

字符 字符串 函数 加密 弧度 长度 位置 参数 平均分 时间 日期 最低 最高 字母 最高分 查询 空格 结尾处 随机数 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门中拓互联网络科技有限公司 互联网和科技创新 互联网通讯科技 鸠鸠互联网科技 美国互联网科技 顺玮阁互联网科技 猫创互联网科技 互联网科技大会案例 居家互联网科技有限公司 广西拼得多互联网科技有限公司 互联网系的金融科技公司 黑科技闪耀互联网之光 互联网5g黑科技有哪些 威龙国际互联网科技公司 半导体是互联网高科技吗 扫呗互联网科技有限公司 上海乐五互联网科技有限公司 互联网科技新闻 安徽零酒互联网科技有限公司 科技互联网专业工作会议发言稿 华服互联网科技靠谱吗 上海卓越科技互联网 河南云网互联网络科技有限公司 富国互联网科技创新基金 广州慧亚互联网科技怎么样 欧洲十大科技互联网公司 崇明区互联网教育科技诚信经营 民营互联网公司国防科技 有人说阿里系是互联网科技企业 承德科技产业互联网平台
0