千家信息网

常用的MySQL函数有哪些

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要介绍了常用的MySQL函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。函数0. 显示当前时间命令:select n
千家信息网最后更新 2024年11月11日常用的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安全错误 数据库的锁怎样保障安全 医学网络技术研究生就业 数据库无法备份到服务器 保障冬残奥会网络安全工作总结 什么是网络安全模式开声音 网络技术络van 原始传奇服务器改名字 信息技术与数据库技术 如何搞好本单位网络安全 网络安全预防措施英语作文 turtle数据库颜色 软件开发可行性分析实验 串口服务器怎么看版本号 生态网络安全构建 陕西可视化人口管理系统软件开发 网络安全防范体系 数据库的类型与特点 软件开发找什么公司电话 北京昌平区的科技网络安全公司 开发app带服务器 服务器在boot配置中如何关机 人渣游戏如何快速寻找服务器 数据库怎么查建表时间查询 虎丘区直销服务器优质推荐 新手机id怎么无法连接服务器 学校网络安全教育开展汇报 创建一个专家表数据库 新寨小学网络安全教育 ssci是什么类型的数据库 镇江丹徒博莱软件开发有限公司 武汉市凯维网络技术有限公司
0