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

news2024/11/24 9:15:18

MySQL 函数

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

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

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

聚合函数

函数名称作用
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显示当前用户的链接信息

加密函数

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/960052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[深度学习]1. 深度学习知识点汇总

本文记录了我在学习深度学习的过程中遇到过的不懂的知识点,为了方便翻阅,故将其发表于此,随时更新,供大家参考。 深度学习常见知识点 1. 测试精度和训练精度 在深度学习中,测试精度和训练精度是两个重要的指标&#…

408考研-数据结构算法-双链表

双向链表的存储方式 双向链表跟链表差不多,只是它每个结点都含有两个链——一个指向下一结点,另一个指向前一结点。此外,它还能直接访问第一个和最后一个结点。 单链表只能向后操作,不可以向前操作。为了向前、向后操作方便&…

表白墙程序

目录 一、页面代码部分 二、设计程序 二、实现 doPost​编辑 三、实现 doGet 四、前端代码部分 五、使用数据库存储数据 一、页面代码部分 在之前的一篇博客中&#xff0c;已经写过了表白墙的页面代码实现&#xff0c;这里就不再重复了 页面代码如下&#xff1a; <!…

【Vue2】 axios库

网络请求库-axios库 认识Axios库为什么选择Axios库安装Axios axios发送请求常见的配置选项简单请求可以给Axios设置公共的基础配置发送多个请求 axios创建实例为什么要创建axios的实例 axios的拦截器请求拦截器响应拦截器 axios请求封装 认识Axios库 为什么选择Axios库 在游览…

git学习笔记 | 版本管理 - 分支管理

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

海格里斯HEGERLS高密度料箱式四向穿梭车存储系统有哪些显著优势?

近些年仓储货架向着自动化、智能化发展&#xff0c;因此市面上出现很多不同类型的智能自动化仓储货架。其中&#xff0c;最受企业青睐的便是四向穿梭车货架。四向穿梭车货架根据其载重不同可分为托盘式和料箱式两大类。这两种不同类型的四向穿梭车货架在结构形式和控制方式上基…

Ubuntu20.04下安装google输入法

Ubuntu20.04下安装google输入法 1、添加中文语言支持 打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言” 弹出“已安装语言”窗口&#xff0c;勾选中文&#xff08;简体&#xff09;&#xff0c;点击应用 回到“语言支持”窗…

日本橙皮书数据库—《医疗用医药品质量情报集》

日本橙皮书是一份关于医疗用医药品质量情报的汇总报告&#xff0c;由日本厚生劳动省发布。它主要涵盖了药品的品质再评价信息&#xff0c;特别是针对特定历史阶段的产品&#xff0c;笔者总结信息如下&#xff1a; ①日本橙皮书数据库包含了一系列药品的详细信息&#xff0c;如…

一句话画出动漫效果

链接&#xff1a; AI Comic Factory - a Hugging Face Space by jbilcke-hfDiscover amazing ML apps made by the communityhttps://huggingface.co/spaces/jbilcke-hf/ai-comic-factory 选择类型&#xff1a; Japanese 输入提示词&#xff1a; beauty and school love st…

视频云存储/安防监控/视频AI智能分析网关V3:消防器材缺失检测功能详解

在我们的日常生活中&#xff0c;消防器材是必不可少的&#xff0c;无论是在学校、园区还是工厂里&#xff0c;都需要摆放消防器材&#xff0c;做好防范措施&#xff0c;降低安全隐患。但有时也需防备消防器材被人为挪动甚至破坏&#xff0c;在危急时刻无法发挥作用。TSINGSEE青…

【kubernetes】Argo Rollouts -- k8s下的自动化蓝绿部署

蓝绿(Blue-Green)部署简介 在现代软件开发和交付中,确保应用程序的平稳更新和发布对于用户体验和业务连续性至关重要。蓝绿部署是一种备受推崇的部署策略,它允许开发团队在不影响用户的情况下,将新版本的应用程序引入生产环境。 蓝绿部署的核心思想在于维护两个独立的环…

lv3 嵌入式开发-1linux介绍及环境配置

目录 1 UNIX、Linux和GNU简介 2 环境介绍 3 VMwareTools配置 4 vim配置&#xff1a; 1 UNIX、Linux和GNU简介 什么是UNIX? unix是一个强大的多用户、多任务操作系统&#xff0c;支持多种处理器架构 中文名 尤尼斯 外文名 UNIX 本质 操作系统 类型 分时操作系统 开…

数据结构入门 — 栈

本文属于数据结构专栏文章&#xff0c;适合数据结构入门者学习&#xff0c;涵盖数据结构基础的知识和内容体系&#xff0c;文章在介绍数据结构时会配合上动图演示&#xff0c;方便初学者在学习数据结构时理解和学习&#xff0c;了解数据结构系列专栏点击下方链接。 博客主页&am…

一百七十、Linux——Crontab定时任务调度Kettle脚本

一、目的 由于用海豚调度器调度从Kafka到HDFS的kettle任务时发现有点问题&#xff0c;如果不设置定时调度&#xff0c;这个kettle任务会一直跑&#xff0c;而如果设置定时调度&#xff0c;隔天后就会生成多个任务&#xff0c;而且每个任务都在跑&#xff0c;不会停下&#xff…

stable diffusion实践操作-提示词

本文专门开一节写提示词相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 正文 提示词是SD中非常重要&#xff0c;你生成的图片质量&#xff0c;基本就取决于提示词的好坏&#xff0c;提示词分为正向提示词和反向提示词。 模板…

激光切割机自动调焦技术详解加图解

激光切割机在切割不同材料的过程中&#xff0c;激光束的焦点必须根据要求位于材料的不同位置。 因此&#xff0c;在切割不同材料的物料时&#xff0c;需要调整激光切割机的焦点位置。在以前的生产激光切割机中&#xff0c;普遍采用手动调焦的方法进行调焦。现在&#xff0c;许多…

【Docker】用Dockerfile制作个人的镜像文件

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

stable diffusion实践操作-常见lora模型介绍

本文专门开一节写Lora相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 模型分两种&#xff0c;一种是sd大模型&#xff0c;一种是类似Lora的小模型 国内的是&#xff1a;https://www.liblibai.com 国外的是&#xff1a;https:/…

企业数字化建设-采购平台规划方案PPT(附数字化建设方案300份)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 46页《智慧书店数字化转型解决方案》.pdf8页德勒数字化智能制造解决方案.pdf24页数字化智能化车间规模与建设.pdf数字化校…