MySQL函数有哪些
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,小编给大家分享一下MySQL函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL函数常用函数聚合函数数据库级
千家信息网最后更新 2025年02月01日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和1 | SELECT 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的开始处,使字符串长度达到len | SELECT LPAD('abc',5,'xx') - xxabc |
RPAD(s1,len,s2) | 字符串s2来填充s1的结尾处,使字符串的长度达到len | SELECT RPAD('abc',5,'xx') - abcxx |
LTRIM(s) | 去掉字符串s开始处的空格 | |
RTRIM(s) | 去掉字符串s结尾处的空格 | |
TRIM(s) | 去掉字符串s开始和结尾处的空格 | |
TRIM(s1 FROM s) | 去掉字符串s中开始处和结尾处的字符串s1 | SELECT TRIM('@' FROM '@@abc@@') - abc |
REPEAT(s,n) | 将字符串s重复n次 | SELECT REPEAT('ab',3) - ababab |
SPACE(n) | 返回n个空格 | |
REPLACE(s,s1,s2) | 将字符串s2替代字符串s中的字符串s1 | SELECT 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安全错误
数据库的锁怎样保障安全
农安手机软件开发
长春一三互联网科技
华为服务器自带操作系统光驱吗
不属于网络技术特征的是
迁西信息网络技术创造辉煌
沈阳计算机网络技术专科学校
使命召唤服务器异常
安卓软件开发便宜
hp服务器管理口 网盘
协同软件开发好的有哪些
金牛区乐渔软件开发
查询数据库语句 show
数据库服务器磁盘阵列怎么挂
北京管理网络技术服务介绍
海淀区技术软件开发包括什么
辽宁网络服务器机箱加工
网络安全知识一封信
关于应用服务器的网站
泰州正规网络技术哪家好
数据库版本企业版 标准版
农安手机软件开发
监测和运行单位做好网络安全
问卷数据库java
网络安全日漫画
软件开发项目工作分解结构
服务器注册
传统软件开发把软件开发
服务器整机多大
唐山软件开发工程师
服务器cpu主频