千家信息网

常用的MySQL函数有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了常用的MySQL函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。函数0. 显示当前时间命令:select n
千家信息网最后更新 2026年10月31日常用的MySQL函数有哪些

这篇文章主要介绍了常用的MySQL函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

函数

0. 显示当前时间

命令:select now()。

作用: 显示当前时间。

应用场景: 创建时间,修改时间等默认值。

例子:

mysql> select now();+---------------------+| now()  |+---------------------+| 2017-12-27 20:14:56 |+---------------------+1 row in set (0.00 sec)

1. 字符长度

命令:select char_length('andyqan')。

作用: 显示指定字符长度。

应用场景: 查看字符长度时。

例子:

mysql> select char_length('andyqian');+-------------------------+| char_length('andyqian') |+-------------------------+|   8 |+-------------------------+1 row in set (0.00 sec)

2. 日期格式化

命令:select date_format(now(),'%y-%m-%d)。

作用:格式化日期。

应用场景:格式化日期时。

例子:

mysql> select date_format(now(),'%y-%m-%d');+-------------------------------+| date_format(now(),'%y-%m-%d') |+-------------------------------+| 17-12-28   |+-------------------------------+1 row in set (0.00 sec)

这里支持的格式有:

%y:表示年(两位数),例如: 17 年。
%Y:表示4位数中的年,例如: 2017年
%m:表示月(1-12)
%d: 表示月中的天
%H: 小时(0-23)
%i: 分钟 (0-59)
%s: 秒 (0-59)

年月日时分秒: %y-%m-%d %H:%i:%s,

如下所示:

mysql> select DATE_FORMAT(now(),'%y-%m-%d %H:%i:%s');+----------------------------------------+| DATE_FORMAT(now(),'%y-%m-%d %H:%i:%s') |+----------------------------------------+| 17-12-27 20:28:54   |+----------------------------------------+1 row in set (0.00 sec)

3. 添加/减少日期时间

命令:

DATE_ADD(date,interval expr unit)DATE_SUB(date,interval expr unit)

作用: 增加/减少日期时间

应用场景:当前时间的前一天,前几分钟。 常用于数据统计。

例子:

mysql> select date_add(now(),interval 1 day);+--------------------------------+| date_add(now(),interval 1 day) |+--------------------------------+| 2017-12-28 20:10:17  |+--------------------------------+1 row in set (0.00 sec)

其中Date表示日期格式,其中就包括: 如

2017-12-27,now() 等格式。

expr:表示数量。

unit:表示单位,支持毫秒(microsecond),秒(second),小时(hour),天(day),周(week),年(year)等。

4. 类型转换

命令: CAST(expr AS type)

作用: 主要用于显示类型转换

应用场景:显示类型转换

例子:

mysql> select cast(18700000000 as char);+---------------------------+| cast(18700000000 as char) |+---------------------------+| 18700000000  |+---------------------------+1 row in set (0.00 sec)

需要注意的是,其中type支持的不是全部基本数据类型,支持的详细类型,请参考之前的文章《谈谈MySQL显示类型转换》。

5. 加密函数

命令: md5(data)

作用: 用于加密数据

应用场景:加密,一些隐私数据,例如银行卡号,身份证等需要存储密文,(当然,不建议使用数据库层加密,应该在应用层加密)

例子:

mysql> select md5("andyqian");+----------------------------------+| md5("andyqian")   |+----------------------------------+| 8a6f60827608e7f1ae29d1abcecffc3a |+----------------------------------+1 row in set (0.00 sec)

注意事项: 如果目前你们数据库中的数据还是明文,此时可以使用数据库加密算法进行加密。

例如: (仅做演示):

update t_base_user set name=md5(name),updated_time=now() where id=1;

支持的加密函数有:

md5()des_encrypt(加密) / des_decrypt(解密);sha1()password() 等等

这里不再一一介绍,有兴趣的同学,可以移步至官网进行详细了解。

6. 字符串连接

命令: concat(str,str2,str3)

作用:拼接字符串

应用场景:拼接字符串,例如在某些字段上同一加上指定字符串。

例子:

mysql> select concat("andy","qian");+-----------------------+| concat("andy","qian") |+-----------------------+| andyqian  |+-----------------------+1 row in set (0.00 sec)

该函数平时也还是用的比较多的,基本上场景是,在某些数据上,加上特定的字符串。方法如下:

7. JSON函数(5.7版本才支持)

命令:json_object(函数)

作用:转换json字符串

应用场景:指定数据转换json字符串

例子:

mysql> select json_object("name","andyqian","database","MySQL");+---------------------------------------------------+| json_object("name","andyqian","database","MySQL") |+---------------------------------------------------+| {"name": "andyqian", "database": "MySQL"}  |+---------------------------------------------------+1 row in set (0.00 sec)

其中包括json_array:

mysql> select json_array("name","andyqian","database","MySQL");+--------------------------------------------------+| json_array("name","andyqian","database","MySQL") |+--------------------------------------------------+| ["name", "andyqian", "database", "MySQL"] |+--------------------------------------------------+1 row in set (0.00 sec)

判断是否为json字符串的json_valid():

select json_valid('{"name": "andyqian", "database": "MySQL"}');

其中为有效json字符串时为1。

无效json字符串时为0.

还有很多方法,不再一一演示。

8. 聚合函数

命令: sum(),count(),avg(),max(),min()

作用:统计,求平均值,最大,最小值

应用场景:这类函数非常常见,主要用于数据统计,在SQL优化方面,也适用。

例子:

mysql> select max(id) from t_base_user;+---------+| max(id) |+---------+| 2 |+---------+1 row in set (0.00 sec)

这里有个小技巧,如果主键是有序递增的,当需要有多少用户时,可以使用max(id)来代替count(*)函数。

9. distinct()

命令: distinct

作用:去重

应用场景:需要统计类型,状态,计算区分度时。

例子:

mysql> select count(distinct(name))/count(*) from t_base_user;+--------------------------------+| count(distinct(name))/count(*) |+--------------------------------+|    0.6667 |+--------------------------------+1 row in set (0.00 sec)

感谢你能够认真阅读完这篇文章,希望小编分享的"常用的MySQL函数有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

字符 函数 场景 数据 应用 作用 例子 命令 字符串 加密 时间 类型 支持 日期 格式 篇文章 统计 数据库 长度 常用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云之行互联网科技 蓝思科技飞鸽互联网 互联网金融监管科技数据 互联网电商科技 广西互联网科技公司 亿人帮互联网科技 互联网前沿科技 重庆科技学院互联网 丰台科技园 互联网公司 博兴的互联网电子科技公司 千方科技属于互联网企业吗 深圳育鹏互联网科技有限公司招聘 乌鲁木齐新华智原互联网科技学校 玉溪新华互联网科技好不好 黑云互联网科技有限公司 半导体是互联网高科技吗 下一代互联网重大应用科技园 北京军民互联网科技公司 互联网科技企业文化 颐高云石互联网科技 互联网科技工作委员会 奇酷互联网络科技 金融科技和互联网金融 成都玖崟互联网科技有限公司乐商圈怎么样 北京华百购互联网科技有限公司 互联网公司黑科技创始人 互联网科技创新的路径 广州梦谷互联网科技有限公司领导 互联网科技接地气 互联网科技平台产品运营
0