函数一:CONCAT

  • 使用场景:查询时把多个字段拼接成一个字符串
  • select concat('id:',`id`,',name:',`name`) from `student`

  • 解       析:需要连接的字段用逗号分隔开来,自定义的拼接符号使用单引号包裹,也使用逗号分隔
  • 注       意:这个函数需要注意的是,如果有一列值为空,那么这一列拼接的结果都会为null,为了避免这样的状况发生,需要在可能为空的列上添加函数二

函数二:IFNULL

  • 使用场景:查询时判断字段是否为空,如果为空则取第二个默认参数,不为空则取表中数据
  • SELECT IFNULL(`student_number`,'is null') FROM `sc_student`
  • 解       析:两个参数,第一个参数为字段名,第二个参数为默认值
  • 注       意:是对查询结果进行的判断,如果不存在的数据是不会取默认值,如下列情况(student表中一共就十条数据):SELECT IFNULL(student_number,'is null') FROM `sc_student` WHERE id = 100 ,这种结果就是null,而不是默认值 'is null'

函数三:COALESCE

  • 使用场景:查询时判断字段是否为空,如果字段为空则取从第二个参数开始不为空的值,字段不为空则取表中数据
  • SELECT COALESCE(`student_number`,NULL,NULL,'is default') FROM `student`
  • 解       析:多个参数,第一个参数为字段名,从第二个参数开始都为可选值,如果字段为空,取值是从第二个参数开始不为空的值,如果都为空,则返回null
  • 注       意:暂无

函数四:REPLACE

  • 使用场景:查询时替换字段中的指定字符
  • SELECT REPLACE(`name`,'陈小婷','小红') FROM `student`

  • 解       析:三个参数,第一个参数为字段名,第二个参数为此字段中需要替换的字符串,第三个参数为替换后的字符串
  • 注       意:第二个参数值 替换成 第三个参数值

函数五:FIND_IN_SET

  • 使用场景:指定字符在字段中是否存在,这类字段都有一个特点,就是会有多个值,以 ','(英文逗号)分隔
  • SELECT `id` , `name` , `score` from `student` where find_in_set ('100' , `score` )
  • 解       析:两个参数,第一个参数为查询的条件,第二个参数为需要匹配的字段;假设学生表有个字段 score 用来存三门课的分数,是以 ','(英文逗号分隔),这条语句就是查询学生表中有至少一门分数是100分的学生 id 和 name
  • 注       意:两个参数的先后顺序,经常容易写颠倒,最坑的是写颠倒了程序不报错...

函数六:CASE

  • 使用场景:一张表中有 state 字段,取值为 0(禁用) 或 1(启用),但是想在查询结果中分别显示对应的中文汉字
  • SELECT `id` , `nickname` , `state` ,(CASE `state` WHEN 0 THEN '禁用' WHEN 1 THEN '启用' ELSE '其他' END ) `state_new` FROM `student`

  • 解       析:查询学生表的id,名称和状态,当状态为0时显示 禁用 ,为1时显示 启用 ,不为0和1时显示 其他
  • 注       意:最后有一个end作为结束,不要忘了

函数七:GROUP_CONCAT

  • 使用场景:假如有一张产品表,一张产品标签表以及一张产品标签关联表,想查出每个产品对应的多个产品标签 id
  • SELECT pi.id,GROUP_CONCAT( ptr.product_tag_id ) as tags FROM `product_info` pi LEFT JOIN `product_tag_rel` ptr ON pi.id = ptr.product_info_id GROUP BY pi.id
  • 解       析:查询每一个产品以及每一个产品对应的产品标签 id(产品标签 id 会以逗号分隔)
  • 注       意:分组

函数八:FROM_UNIXTIME

  • 使用场景:时间戳转日期格式
  • SELECT `id` , FROM_UNIXTIME(`add_time`, '%Y-%m-%d %H:%i') FROM `student`
  • 解       析:查询学生表的 id 和格式化后的创建时间(年-月-日 时:分)
  • 注       意:format 字母的大小写

函数九:TIMESTAMPDIFF

  • 使用场景:求出时间差
  • SELECT TIMESTAMPDIFF(SECOND , `create_time` , `update_time`)  FROM `student`SELECT TIMESTAMPDIFF(SECOND,'2018-07-01 09:00:00','2018-07-04 12:00:00') FROM `student`

  • 解       析:查询学生表的创建时间和修改时间的秒差(SECOND:秒   /   MINUTE:分   /   HOUR:时   /   DAY:天   /   MONTH:月   /   YEAR:年)
  • 注       意:create_time < update_time ,数据类型要是datetime型

函数十:MAX

  • 使用场景:查询最大值
  • SELECT `id`, `subject_id` , MAX(score) FROM `student_score` GROUP BY `subject_id` HAVING MAX(score) > 90

  • 解       析:查询学生成绩表每科超过90分的最高分,GROUP BY `subject_id` 用于每个科目分组 ,HAVING MAX(score) > 90 用于过滤超过90分的条件
  • 注       意:分组、过滤

Mysql最常用的十大函数相关推荐

  1. 数学建模中常用的十大算法

    数学建模中常用的十大算法 这里,我们将对数学建模中常用的十大算法做一个简单的梳理,并给出一些可以继续学习的参考Blogs 文章目录 数学建模中常用的十大算法 1.蒙特卡罗算法 2.数据拟合.参数估计. ...

  2. 常用的十大Python开发工具

    据权威机构统计,Python人才需求量每日高达5000+,但目前市场上会 Python 的程序员少之又少, 竞争小,很容易快速高薪就业.可能你并不太了解常用的十大Python开发工具都有哪些,现在告诉 ...

  3. 计算机win7快捷键,快捷键,教您win7最常用的十大快捷键有哪些

    就像我们平时打开运行窗口的时候用的快捷键"WIN+R",还有截图用的"Ctrl+Alt+A",这些都是我们在使用电脑时所能用的快捷键.今天小编我就来给你们说说w ...

  4. 【数据结构与算法】 常用的十大算法

    常用的十大算法: 文章目录 常用的十大算法: 1.二分查找算法(非递归): 2.分治算法 2.1分治算法介绍 2.2 分治算法的基本步骤 2.3 分治算法最佳实践-汉诺塔 2.4 动态规划算法 2.4 ...

  5. 数学建模当中常用的十大模型及各对应算法

    数学建模当中常用的十大模型及各对应算法 图文展示:

  6. 数据科学家常用的十大机器学习算法,都在这了!

    导语:本文列出了数据科学家使用的十大机器学习算法,并且介绍了这十大算法的特点,供各位机器学习的新人们更好地理解和应用. 文/James Le 译/ 之肴 编辑/ 消失的牛角包 在机器学习领域,有种说法 ...

  7. mysql int 转 varchar_Java后端程序员必备:MySQL索引失效的十大杂症

    背景 最近生产爆出一条慢sql,原因是用了or和!=,导致索引失效.于是,总结了索引失效的十大杂症,希望对大家有帮助,加油. 一.查询条件包含or,可能导致索引失效 新建一个user表,它有一个普通索 ...

  8. 优化mysql数据库_MySQL数据库十大优化技巧

    WEB开发者不光要解决程序的效率问题,对数据库的快速访问和相应也是一个大问题.希望本文能对大家掌握MySQL优化技巧有所帮助. 1. 优化你的MySQL查询缓存 在MySQL服务器上进行查询,可以启用 ...

  9. 常用的十大数据分析方法!

    文章来源:大数据科学 数据分析的思路极其重要,以致于我们总是忽略它,重"术"而轻"道",但其实应该一视同仁. 这篇文章讲了表单分析.用户分析.埋点分析.聚类分析 ...

  10. 最常用的十大管理工具 公司管理常用哪几种管理工具

    1.SWOT分析 SWOT方法是一种经过优势.劣势.机会和威胁四个步骤形成的一种管理方法,其实主要被分为内部和外部两个因素,并且主要应用在有着较高行业竞争力的领域,如广告业.金融经纪业行业等. 2.头 ...

最新文章

  1. python数据可视化库 动态的_Python数据可视化:Pandas库,只要一行代码就能实现...
  2. php实现斐波那契数列
  3. 查询时拼接两列数据_如何用VBA代码查询两列数据差异?
  4. css3书页翻转,CSS3实现3D翻书效果
  5. eclipse error
  6. SQL笔记(1)索引/触发器
  7. TeraTerm自动登录(Login)
  8. 微软拟测试类微博服务OfficeTalk
  9. 【bzoj4530】[Bjoi2014]大融合 LCT维护子树信息
  10. Java 学习如逆水行舟,不进则退,100 本 java 电子书推荐
  11. 目标检测 | CVPR 2019 目标检测论文汇总
  12. 计算机网络规划设计实例,网络规划设计方案实例.doc
  13. SSM项目实战之二十五:新增订单
  14. 2021-08-27小白笔记3
  15. 黑灰产眼中的NFT:平台嗷嗷待宰,用户送钱上门
  16. 网络安全学习路线(顶级白帽黑客)
  17. 太全面了!Python 编程的最好搭档—VSCode 实用指南!
  18. iphone健康数据统计_如何控制哪些应用程序可以访问iPhone的健康数据
  19. Android开发未来的出路何在
  20. read_csv()报错: ‘utf-8‘ codec can‘t decode byte 0xca in position 0: invalid continuation byte

热门文章

  1. Java开发两年:java简历包装工作经验
  2. 医院耗材管理系统开发_7
  3. 天翼云高可用虚拟IP(HAVIP)实践
  4. vs2013的mfc开发上位机
  5. java基于springboot校园餐厅订餐管理系统附源码
  6. java怎么判断素数_java判断素数(质素)
  7. linux驱动开发(一):一个最简单的内核驱动程序
  8. java 企业级安全_《企业级Java安全性—构建安全的J2EE应用》 尹亚 【正版电子纸书阅读_PDF下载】- 书问...
  9. ArcGIS10.8安装(附最新<2022年10月29日>下载地址)
  10. 《Perl语言入门》学习笔记