收藏多年的MySQL函数大全笔记,笔记一生一起走,那些日子不再有!(1)

本文详细介绍了SQL中的流程控制、聚合、加密、日期/数字/字符串函数,以及Java开发中的一些核心知识点,包括Spring框架和企业IT架构转型。此外,还提到了面试题和相关学习资源,适合IT专业人士学习和准备面试。
摘要由CSDN通过智能技术生成

一、流程控制函数


| 序号 | 函数 | 说明 |

| :-: | — | — |

| 1 | IF(test,t,f) | 如果test是真,返回t;否则返回f |

| 2 | IFNULL(arg1,arg2) | 如果arg1不是空,返回arg1,否则返回arg2 |

| 3 | NULLIF(arg1,arg2) | 如果arg1=arg2返回NULL;否则返回arg1 |

| 4 | CASE WHEN[test1] THEN [result1]…ELSE [default] END | 如果testN是真,则返回resultN,否则返回default |

| 5 | CASE [test] WHEN[val1] THEN [result]…ELSE [default]END | 如果test和valN相等,则返回resultN,否则返回default |

举例:IF(test,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2

SELECT IF(1>0,‘yes’,‘no’);

结果:

yes


二、聚合函数


| 序号 | 函数 | 说明 |

| :-: | — | — |

| 1 | COUNT(col) | 统计查询结果的行数 |

| 2 | MIN(col) | 查询指定列的最小值 |

| 3 | SUM(col) | 求和,返回指定列的总和 |

| 4 | AVG(col) | 求平均值,返回指定列数据的平均值 |

举例:SUM(expression)返回指定字段的总和

SELECT SUM(age) AS totalAage FROM Student;

结果:

age的总和


三、加密函数


| 序号 | 函数 | 说明 |

| :-: | :-- | — |

| 1 | SHA() | 计算字符串str的安全散列算法(SHA)校验和 |

| 2 | PASSWORD(str) | 返回字符串str的加密版本,这个加密过程是不可逆转的,和UNIX密码加密过程使用不同的算法 |

| 3 | MD5() | 计算字符串str的MD5校验和 |

| 4 | ENCRYPT(str,salt) | 使用UNIXcrypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串str |

| 5 | ENCODE(str,key) | 使用key作为密钥加密字符串str,调用ENCODE()的结果是一个二进制字符串,它以BLOB类型存储 |

示例1:在字符串上实现ENCODE函数。

SELECT

ENCODE(‘geeksforgeeks’, ‘passwordstring’);

结果:

Q)?P???j[K


四、日期函数


| 序号 | 函数 | 说明 |

| :-: | — | — |

| 1 | CURDATE() | 返回当前日期 |

| 2 | CURRENT_DATE() | 返回当前日期 |

| 3 | CURRENT_TIME | 返回当前时间 |

| 4 | CURRENT_TIMESTAMP() | 返回当前日期和时间 |

| 5 | CURTIME() | 返回当前时间 |

| 6 | DATE() | 从日期或日期时间表达式中提取日期值 |

| 7 | DATEDIFF(d1,d2) | 计算日期 d1->d2 之间相隔的天数 |

| 8 | YEAR(d) | 返回年份 |

| 9 | YEARWEEK(date, mode) | 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推 |

| 10 | WEEKOFYEAR(d) | 计算日期 d 是本年的第几个星期,范围是 0 到 53 |

| 11 | WEEKDAY(d) | 日期 d 是星期几,0 表示星期一,1 表示星期二 |

| 12 | WEEK(d) | 计算日期 d 是本年的第几个星期,范围是 0 到 53 |

| 13 | TO_DAYS(d) | 计算日期 d 距离 0000 年 1 月 1 日的天数 |

| 14 | TIMESTAMP(expression, interval) | 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和 |

| 15 | TIMEDIFF(time1, time2) | 计算时间差值 |

| 16 | TIME_TO_SEC(t) | 将时间 t 转换为秒 |

| 17 | TIME_FORMAT(t,f) | 按表达式 f 的要求显示时间 t |

| 18 | TIME(expression) | 提取传入表达式的时间部分 |

| 19 | SYSDATE() | 返回当前日期和时间 |

| 20 | SUBTIME(t,n) | 时间 t 减去 n 秒的时间 |

| 21 | SUBDATE(d,n) | 日期 d 减去 n 天后的日期 |

| 22 | STR_TO_DATE(string, format_mask) | 将字符串转变为日期 |

| 23 | SEC_TO_TIME(s) | 将以秒为单位的时间 s 转换为时分秒的格式 |

| 24 | SECOND(t) | 返回 t 中的秒钟值 |

| 25 | QUARTER(d) | 返回日期d是第几季节,返回 1 到 4 |

| 26 | SECOND(t) | 返回 t 中的秒钟值 |

| 27 | QUARTER(d) | 返回日期d是第几季节,返回 1 到 4 |

| 28 | PERIOD_DIFF(period1, period2) | 返回两个时段之间的月份差值 |

| 29 | PERIOD_ADD(period, number) | 为 年-月 组合日期添加一个时段 |

| 30 | NOW() | 返回当前日期和时间 |

| 31 | MONTH(d) | 返回日期d中的月份值,1 到 12 |

| 32 | MONTHNAME(d) | 返回日期当中的月份名称,如 November |

| 33 | MINUTE(t) | 返回 t 中的分钟值 |

| 34 | MICROSECOND(date) | 返回日期参数所对应的微秒数 |

| 35 | MAKETIME(hour, minute, second) | 组合时间,参数分别为小时、分钟、秒 |

| 36 | MAKEDATE(year, day-of-year) | 基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期 |

| 37 | LOCALTIMESTAMP() | 返回当前日期和时间 |

| 38 | LOCALTIME() | 返回当前日期和时间 |

| 39 | LAST_DAY(d) | 返回给给定日期的那一月份的最后一天 |

| 40 | HOUR(t) | 返回 t 中的小时值 |

| 41 | FROM_DAYS(n) | 计算从 0000 年 1 月 1 日开始 n 天后的日期 |

| 42 | EXTRACT(type FROM d) | 从日期 d 中获取指定的值,type 指定返回的值。 type可取值为时、分、秒、周等等 |

| 43 | DAYOFYEAR(d) | 计算日期 d 是本年的第几天 |

| 44 | DAYOFWEEK(d) | 日期 d 今天是星期几,1 星期日,2 星期一,以此类推 |

| 45 | DAYOFMONTH(d) | 计算日期 d 是本月的第几天 |

| 46 | DAYNAME(d) | 返回日期 d 是星期几,如 Saturday,Sunday |

| 47 | DAY(d) | 返回日期值 d 的日期部分 |

| 48 | DATE_SUB(date,INTERVAL expr type) | 函数从日期减去指定的时间间隔。 |

| 49 | DATE_FORMAT(d,f) | 按表达式 f的要求显示日期 d |

| 50 | ADDTIME(t,n) | n 是一个时间表达式,时间 t 加上时间表达式 n |

| 51 | ADDDATE(d,n) | 计算起始日期 d 加上 n 天的日期 |

举例:DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday

SELECT DAYNAME(‘2018-6-1 12:45:21’);

结果:

Friday


五、数字函数


| 序号 | 函数 | 说明 |

| :-: | — | — |

| 1 | SUM(expression) | 返回指定字段的总和 |

| 2 | SQRT(x) | 返回x的平方根 |

| 3 | SIN(x) | 求正弦值(参数是弧度) |

| 4 | SIGN(x) | 返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1 |

| 5 | ROUND(x) | 返回离 x 最近的整数 |

| 6 | RAND() | 返回 0 到 1 的随机数 |

| 7 | RADIANS(x) | 将角度转换为弧度 |

| 8 | POWER(x,y) | 返回 x 的 y 次方 |

| 9 | POW(x,y) | 返回 x 的 y 次方 |

| 10 | PI() | 返回圆周率(3.141593) |

| 11 | MOD(x,y) | 返回 x 除以 y 以后的余数 |

| 12 | MIN(expression) | 返回字段 expression 中的最小值 |

| 13 | MAX(expression) | 返回字段 expression 中的最大值 |

| 14 | LOG2(x) | 返回以 2 为底的对数 |

| 15 | LOG(x) 或 LOG(base, x) | 返回自然对数(以 e 为底的对数),如果带有 base 参数,则 base 为指定带底数。 |

| 16 | LN | 返回数字的自然对数,以 e 为底。 |

| 17 | LEAST(expr1, expr2, expr3, …) | 返回列表中的最小值 |

| 18 | GREATEST(expr1, expr2, expr3, …) | 返回列表中的最大值 |

| 19 | FLOOR(x) | 返回小于或等于 x 的最大整数 |

| 20 | EXP(x) | 返回 e 的 x 次方 |

| 21 | n DIV m | 整除,n 为被除数,m 为除数 |

| 22 | DEGREES(x) | 将弧度转换为角度 |

| 23 | COUNT(expression) | 返回查询的记录总数,expression 参数是一个字段或者 * 号 |

| 24 | COT(x) | 求余切值(参数是弧度) |

| 25 | COS(x) | 求余弦值(参数是弧度) |

| 26 | CEILING(x) | 返回大于或等于 x 的最小整数 |

| 27 | CEIL(x) | 返回大于或等于 x 的最小整数 |

| 28 | AVG(expression) | 返回一个表达式的平均值,expression 是一个字段 |

| 29 | ATAN(x) | 求反正切值(参数是弧度) |

| 30 | ASIN(x) | 求反正弦值(参数是弧度) |

| 31 | ACOS(x) | 求 x 的反余弦值(参数是弧度) |

| 32 | ABS(x) | 返回 x 的绝对值 |

| 33 | TAN(x) | 求正切值(参数是弧度) |

| 34 | TRUNCATE(x,y) | 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入) |

举例:CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数

SELECT CEIL(2.5);

SELECT CEILING(2.5);

结果:

3

粉丝福利,点击可查看


六、字符串函数


| 序号 | 函数 | 说明 |

| :-: | :-- | :-- |

| 1 | UPPER(s) | 将字符串转换为大写 |

| 2 | UCASE(s) | 将字符串转换为大写 |

| 3 | TRIM(s) | 去掉字符串 s 开始和结尾处的空格 |

| 4 | SUBSTRING_INDEX(s, delimiter, number) | 返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。

如果 number 是正数,返回第 number 个字符左边的字符串。

如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。 |

| 5 | SUBSTRING(s, start, length) | 从字符串 s 的 start 位置截取长度为 length 的子字符串 |

| 6 | SUBSTR(s, start, length) | 从字符串 s 的 start 位置截取长度为 length 的子字符串 |

| 7 | STRCMP(s1,s2) | 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1 |

| 8 | SPACE(n) | 返回 n 个空格 |

| 9 | RTRIM(s) | 去掉字符串 s 结尾处的空格 |

| 10 | RPAD(s1,len,s2) | 在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len |

| 11 | RIGHT(s,n) | 返回字符串 s 的后 n 个字符 |

| 12 | REVERSE(s) | 将字符串s的顺序反过来 |

| 13 | REPLACE(s,s1,s2) | 将字符串 s2 替代字符串 s 中的字符串 s1 |

| 14 | REPEAT(s,n) | 将字符串 s 重复 n 次 |

| 15 | POSITION(s1 IN s) | 从字符串 s 中获取 s1 的开始位置 |

| 16 | MID(s,n,len) | 从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len) |

| 17 | LTRIM(s) | 去掉字符串 s 开始处的空格 |

| 18 | LPAD(s1,len,s2) | 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len |

| 19 | LOWER(s) | 将字符串 s 的所有字母变成小写字母 |

| 20 | LEFT(s,n) | 返回字符串 s 的前 n 个字符 |

| 21 | LCASE(s) | 将字符串 s 的所有字母变成小写字母 |

| 22 | LOCATE(s1,s) | 从字符串 s 中获取 s1 的开始位置 |

| 23 | INSERT(s1,x,len,s2) | 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串 |

| 24 | FORMAT(x,n) | 函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入。 |

| 25 | FIND_IN_SET(s1,s2) | 返回在字符串s2中与s1匹配的字符串的位置 |

| 26 | FIELD(s,s1,s2…) | 返回第一个字符串 s 在字符串列表(s1,s2…)中的位置 |

| 27 | CONCAT_WS(x, s1,s2…sn) | 同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符 |

| 28 | CONCAT(s1,s2…sn) | 字符串 s1,s2 等多个字符串合并为一个字符串 |

| 29 | CHARACTER_LENGTH(s) | 返回字符串 s 的字符数 |

| 30 | CHAR_LENGTH(s) | 返回字符串 s 的字符数 |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

程序员代码面试指南 IT名企算法与数据结构题目最优解

这是” 本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一-痛点, 本书选取将近200道真实出现过的经典代码面试题,帮助广“大程序员的面试准备做到万无一失。 “刷”完本书后,你就是“题王”!

image.png

《TCP-IP协议组(第4版)》

本书是介绍TCP/IP协议族的经典图书的最新版本。本书自第1版出版以来,就广受读者欢迎。

本书最新版进行」护元,以体境计算机网络技不的最新发展,全书古有七大部分共30草和7个附录:第一部分介绍一些基本概念和基础底层技术:第二部分介绍网络层协议:第三部分介绍运输层协议;第四部分介绍应用层协议:第五部分介绍下一代协议,即IPv6协议:第六部分介绍网络安全问题:第七部分给出了7个附录。

image.png

Java开发手册(嵩山版)

这个不用多说了,阿里的开发手册,每次更新我都会看,这是8月初最新更新的**(嵩山版)**

image.png

MySQL 8从入门到精通

本书主要内容包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL 函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、MySQL 日志、性能优化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL数据库和PDO数据库抽象类库等。最后通过3个综合案例的数据库设计,进步讲述 MySQL在实际工作中的应用。

image.png

Spring5高级编程(第5版)

本书涵盖Spring 5的所有内容,如果想要充分利用这一领先的企业级 Java应用程序开发框架的强大功能,本书是最全面的Spring参考和实用指南。

本书第5版涵盖核心的Spring及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。

image.png

JAVA核心知识点+1000道 互联网Java工程师面试题

image.png

image.png

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

image.png
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
ng及其与其他领先的Java技术(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本书的重点是介绍如何使用Java配置类、lambda 表达式、Spring Boot以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。

[外链图片转存中…(img-i7aVDmaz-1713708204092)]

JAVA核心知识点+1000道 互联网Java工程师面试题

[外链图片转存中…(img-BICutUoj-1713708204093)]

[外链图片转存中…(img-2klNig1Q-1713708204093)]

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战

本书讲述了阿里巴巴的技术发展史,同时也是-部互联网技 术架构的实践与发展史。

[外链图片转存中…(img-WhKFYD4g-1713708204093)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值