一文吃透MySQL必备的常用内置函数

 更新时间:2026年07月04日 16:27:45   作者:海棠蚀omo  
这篇文章中我们主要了解一下MySQL中常见的一些内置函数,看看它们都有什么作用,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

前言:

在上一篇文章中我们详细讲解了MySQL的基本查询相关的操作,内容还是挺多的,不过今天这篇文章我们就会轻松一点,在今天这篇文章中我们主要了解一下MySQL中常见的一些内置函数,看看它们都有什么作用,那么下面就跟我一起来看看吧。

一.日期函数

上面这些就是常见的日期函数,通过相应的描述相信大家都知道它们相应的作用,那么下面我们废话不多说,直接通过一些例子来实际操作一下这些函数。

1.1创建一张表,记录生日

那么在上面我们创建一张表用来记录生日,在插入数据时我们就可以通过执行这些函数来获取相应数据。

而在上面我们就使用了前三个函数来获取相应的时间,不过因为birthday的类型是date,所以只取了前面的日期部分。

从上面的结果中我们也可以看到日期的相关格式,具体的时间也是一样的格式。

1.2创建一个留言表

在这个例子中我们可以使用now函数或者current_timestamp这两个函数来记录写下该消息时的对应时间,它们两个都可以获取到当前的具体时间。

对于这个例子我们还可以有其他的玩法:

1.2.1显示所有留言信息,发布日期只显示日期,不用显示时间

对于这个例子我们就要用到上面的date函数了,下面我们来看:

通过date函数就可以只取前面的日期部分了。

1.2.2请查询在2分钟内发布的贴子

对于这个例子我们要先弄清楚两分钟之内代表着什么?

其实就是sendtime+2分钟要>当前的时间,或者当前的时间-2分钟<sendtime,这样这条信息才算是2分钟之内发布的,那么下面我们就先来实验一下:

这里我们就新插入一个数据,之后通过where语句来进行条件筛选,而在where语句中我们就要通过date_add或者date_sub这两个函数来进行操作了,也就是进行我们上面所说的两种情况,因为单位是分钟,所以在使用时我们后面要加上minute。

从结果我们也可以看到只有我们刚插入的这条数据是在2分钟之内发布的,符合我们的预期。

二.字符串函数

上面就是MySQL中常见的字符串函数,有的和我们在学习C/C++时学的函数不仅功能一样,甚至名字都一样,那么我们废话不多说,直接通过几个例子来运用一下这些函数。

2.1获取emp表的ename列的字符表

通过charset函数我们就可以查看EMP表中字符串的字符集,因为默认是utf8,所以我们查到的字符集也就是utf8。

2.2要求显示exam_result表中的信息,显示格式:" xxx的语文时xxx分,数学xxx分,英语xxx分 "

要想完成这个例子我们就要用到concat函数了,我们需要将上面格式的字符串一个一个拼接起来,里面就要用到各科的成绩,但是整体而言还是比较简单的,所以这里就不再赘述了。

2.3求学生表中学生姓名占用的字节数

在这个例子中我们就要用到length函数来计算每个学生名字所占用的字节数,在最初的时候我们讲过字符集为utf8的情况下,一个汉字会占用3个字节,所以三个字的名字就会占用9个字节,两个字的名字就会占用6个字节。

如果不是汉字而是正常的字母或者数字,它们都只算1个字节,这一点相信大家都能理解。

2.4将EMP表中所有名字这种带有S的替换成" 上海 "

在这个例子中我们就要用到replace函数,第二个参数就是被替换的字符,最后的上海就是我们要替换的字符,从结果中我们也可以看到确实将表中的每个名字中的" S "替换为了" 上海 "。

当然上面的替换并不是真的将表中的数据进行了替换,表中的ename还是原来的样子,上面我们只是来展示一下。

2.5截取EMP表中ename字段的第二个到第三个字符

那么这个例子我们就要使用substring函数了,并且为了显示的更加清晰我将完整的ename也打印出来进行对比,可以看到通过substring函数确实将ename中第二个到第三个字符给截取了出来。

可能有人会疑惑为什么第二个数字是2而不是1,原因是:默认下标是从1开始的,而不是从0开始的。

2.6以首字母小写的方式显示所有员工的姓名

这个例子相较于前面的复杂一点,我们要通过concat,lcase,substring这三个函数来完成这个例子,我们无法只通过lcase函数只对ename的第一个字母变为小写而不改变其他的字母。

我们的做法是将首字母和剩余部分给分割开来,单独处理首字母,处理完之后再通过concat函数将两者重新拼接在一起。

三.数学函数

上面就是MySQL中常用的一些数学函数,这里面大部分我们在学习C/C++时都见过,这里就介绍一下ceiling和floor这两个函数,即向上取整和向下取整。

3.1ceiling函数

所谓向上取整,其实意思就是取比当前值大的值,我们来看:

在上面的图中,如果值是3.1,3.9,那么经过向上取整之后就是4,而如果是负数,如-3.1,-3.9的话,那么在向上取整后值就是-3,不管是正数还是负数,经过向上取整后得到的结果都会比原先值要大。

光说没用,下面我们就用上面的例子来证明一下:

从上面的结果中我们证明了向上取整确实是如此。

3.2floor函数

所谓向下取整,和向上取整正好相反,意思就是取比当前值要小的值,我们来看:

在上面的图中,如果值是3.1,3.9,那么经过向下取整之后就是3,而如果是负数,如-3.1,-3.9的话,那么在向下取整后值就是-4,不管是正数还是负数,经过向下取整后得到的结果都会比原先值要小。

下面我们依旧来证明一下:

通过上面的的结果我们也能够证明。

四.其他函数

那么在剩下的内容中我们再简单介绍一些函数:

第一个呢就是user()函数,用来查询当前用户。

这个函数就是对一个字符串进行md5摘要,摘要后得到一个32位字符串。

最后一个就是ifnull函数,这个函数的作用就是如果val1为null就返回val2,否则就返回val1。

以上就是数据小白福音:一文吃透MySQL必备的常用内置函数的全部内容。

到此这篇关于一文吃透MySQL必备的常用内置函数的文章就介绍到这了,更多相关mysql常用内置函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql8.0.2离线安装配置方法图文教程

    mysql8.0.2离线安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql8.0.2离线安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MYSQL连接不上本地服务器localhost的问题及解决

    MYSQL连接不上本地服务器localhost的问题及解决

    通过打开DOS窗口输入mysql连接命令时报错,发现本地MySQL服务未启动,按照步骤在services.msc中找到并启动MySQL服务,选择“自动”启动类型,依次点击“启动”、“应用”、“确定”,问题解决
    2026-03-03
  • 深入MySQL存储引擎比较的详解

    深入MySQL存储引擎比较的详解

    本篇文章是对MySQL存储引擎的比较进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL与Oracle对比及区别说明

    MySQL与Oracle对比及区别说明

    这篇文章主要介绍了MySQL与Oracle对比及区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • MySQL锁等待与死锁问题分析

    MySQL锁等待与死锁问题分析

    这篇文章主要介绍了MySQL锁等待与死锁问题分析,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • MySQL基础之多表查询案例分享

    MySQL基础之多表查询案例分享

    这篇文章主要为大家分享了几个MySQL基础中的多表查询案例,文中的示例代码简洁易懂,对我们学习MySQL有一定的帮助,需要的小伙伴可以了解一下
    2022-10-10
  • 阿里云centos7安装mysql8.0.22的详细教程

    阿里云centos7安装mysql8.0.22的详细教程

    这篇文章主要介绍了阿里云centos7安装mysql8.0.22的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MySQL Flink实时流处理的核心技术之窗口机制

    MySQL Flink实时流处理的核心技术之窗口机制

    Flink是一款流处理框架,窗口机制是其核心技术之一。Flink的窗口机制可以将无限的数据流划分为有限的窗口,并对窗口内的数据进行处理。Flink的窗口机制支持时间、计数、会话等多种窗口类型,并且可以在不同的窗口之间进行流转换和数据聚合,是实时流处理中非常重要的技术
    2023-05-05
  • mysql正确安全清空在线慢查询日志slow log的流程分享

    mysql正确安全清空在线慢查询日志slow log的流程分享

    这篇文章主要介绍了正确安全清空在线慢查询日志slow log的流程,需要的朋友可以参考下
    2014-02-02
  • Ubuntu10下如何搭建MySQL Proxy读写分离探讨

    Ubuntu10下如何搭建MySQL Proxy读写分离探讨

    MySQL Proxy是一个处于你的Client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信
    2012-11-11

最新评论