Mysql函数大全+案例练习

这篇具有很好参考价值的文章主要介绍了Mysql函数大全+案例练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数

函数,在Java中我们叫方法,MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。

MySQL 包含了大量并且丰富的函数,我们可以对 MySQL 常用函数进行简单的分类,大概包括数值型函数、字符串型函数、日期时间函数、聚合函数等。

MySQL 数值型函数

作 用 函数名称
求绝对值 ABS
求二次方根 SQRT
求余数 MOD
两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 CEIL 和 CEILING
向下取整,返回值转化为一个BIGINT FLOOR
生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列 RAND
对所传参数进行四舍五入 ROUND
两个函数的功能相同,都是所传参数的次方的结果值 POW 和 POWER
求正弦值 SIN
求反正弦值,与函数 SIN 互为反函数 ASIN
求余弦值 COS
求反余弦值,与函数 COS 互为反函数 ACOS
求正切值 TAN
求反正切值,与函数 TAN 互为反函数 ATAN
求余切值 COT

MySQL 字符串函数

函数名称 作 用
LENGTH 计算字符串长度函数,返回字符串的字节长度
CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
CONCAT_WS CONCAT的变种,可以将多个字符串按照统一格式进行拼接
INSERT 替换字符串函数下标从1开始,INSERT(idcard,2,2,'**') : 将身份证号第二个开始连续两个替换成
LOWER 将字符串中的字母转换为小写
UPPER 将字符串中的字母转换为大写
LEFT 从左侧字截取符串,返回字符串左边的若干个字符
RIGHT 从右侧字截取符串,返回字符串右边的若干个字符
TRIM 删除字符串左右两侧的空格
REPLACE 将指定的字符串替换成新的字符串
SUBSTRING 截取字符串,返回从指定位置开始的指定长度的字符换
REVERSE 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串

MySQL 日期和时间函数

函数名称 作 用
CURDATE 和 CURRENT_DATE 两个函数作用相同,返回当前系统的日期,只包含年、月、日SELECT CURDATE() 、SELECT CURRENT_DATE()
CURTIME 和 CURRENT_TIME 两个函数作用相同,返回当前系统的时间值
NOW 和 SYSDATE 两个函数作用相同,返回当前系统的日期和时间值
UNIX_TIMESTAMP 获取时间戳,也可以将指定的日期转成时间戳
FROM_UNIXTIME 将时间戳转成日期UNIX_TIMESTAMP()、UNIX_TIMESTAMP('2022-05-30')
MONTH 获取指定日期中的月份
MONTHNAME 获取指定日期中的月份英文名称
DAYNAME 获取指定曰期对应的星期几的英文名称
DAYOFWEEK 获取指定日期对应的一周的索引位置值,周日是1,周一是2......
WEEK 获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53
DAYOFYEAR 获取指定曰期是一年中的第几天,返回值范围是1~366
DAYOFMONTH 获取指定日期是一个月中是第几天,返回值范围是1~31
YEAR 获取年份,返回值范围是 1970〜2069
TIME_TO_SEC 将时间参数转换为秒数TIME_TO_SEC('2022-05-19 15:14:08')
SEC_TO_TIME 将秒数转换为时间,与TIME_TO_SEC 互为反函数
DATE_ADD 和 ADDDATE 两个函数功能相同,都是向日期添加指定的时间间隔 DATE_ADD('2022-05-19 15:14:08',INTERVAL 1 DAY)
DATE_SUB 和 SUBDATE 两个函数功能相同,都是向日期减去指定的时间间隔DATE_SUB('2022-05-19 15:14:08',INTERVAL 1 DAY)
ADDTIME 时间加法运算,在原始时间上添加指定的时间ADDTIME('2022-05-19 15:14:08','10:00:00')
SUBTIME 时间减法运算,在原始时间上减去指定的时间SUBTIME('2022-05-19 15:14:08','10:00:00')
DATEDIFF 获取两个日期之间间隔,返回参数 1 减去参数 2 的值
DATE_FORMAT 格式化指定的日期,根据参数返回指定格式的值,这个转换格式与Java不同 如 %Y-%m-%d %H:%i:%s
WEEKDAY 获取指定日期在一周内的对应的工作日索引周一是0,周二是1.......

MySQL 聚合函数

函数名称 作用
MAX 查询指定列的最大值
MIN 查询指定列的最小值
COUNT 统计查询结果的行数
SUM 求和,返回指定列的总和
AVG 求平均值,返回指定列数据的平均值

MySQL 流程控制函数

函数名称 作用
IF(v,v1,v2) 判断v值,如果符合返回v1,不符合返回v2,流程控制
IFNULL(v1,v2) 判断是否为空,v1不为空返回自己,为空返回v2
CASE WHEN... THEN WHEN...THEN ... ELSE ... END 搜索语句,类似于Java中的if .... else if .... else
CASE ... WHEN ... THEN WHEN...THEN ... ELSE ..END 搜索语句,类似于Java中的Switch case

SQL练习

第一题:请你从exam_record数据表中计算所有用户完成SQL类别高难度试卷得分的截断平均值(去掉一个最大值和一个最小值后的平均值)examination_info(exam_id试卷ID, tag试卷类别, difficulty试卷难度, duration考试时长, release_time发布时间)

SELECT
	tag,
	difficulty,
	round(( sum( score ) - max( score ) - min( score )) / ( count( score ) - 2 ), 1 ) AS clip_avg_score 
FROM
	exam_record
	LEFT JOIN examination_info ON exam_record.exam_id = examination_info.exam_id 
WHERE
	tag = "SQL" 
	AND difficulty = "hard"

第二题:展示出第一张表所有数据,90分以上为优,80-90良,60-80中 小于60为不及格。

SELECT id,uid, CASE WHEN score >90 THEN '优'
                 WHEN score >80 AND score< 90 THEN '良'
                 WHEN score >60 AND score< 80 THEN '中'
								 WHEN score< 60 THEN '不及格'                              
    	       ELSE  '未知' END 
 FROM exam_record    

 第三题:求出每个用户每个科目的平均值,并将科目放到表头(行转列)文章来源地址https://www.toymoban.com/news/detail-418963.html

SELECT
	er.id,
	er.uid,
	er.exam_id,
	avg( CASE ei.tag WHEN 'SQL' THEN er.score END ) AS 'sql',
	avg( CASE ei.tag WHEN '算法' THEN er.score END ) AS '算法' 
FROM
	exam_record er
	JOIN examination_info ei USING ( exam_id ) 
GROUP BY
	er.uid

到了这里,关于Mysql函数大全+案例练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql函数练习

    创建表sch  向表中加入数据 1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch() 其中total作为接受数据的变量 运行得到  2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资, 功能查询emp表dept为30,job为销售员的平均工资。

    2024年02月16日
    浏览(52)
  • 齐全且实用的MySQL函数使用大全

    目录 一、MySQL函数介绍 二、MySQL函数分类 (一)单行函数 ①字符串函数 ②数学函数 ③日期函数 ④流程控制函数 ⑤系统信息函数 ⑥其他函数 (二)聚合函数 三、函数使用示例 (一)字符函数 ①length(str)函数 ②concat(str1,str2,...)函数 ③upper(str)、lower(str)函数 ④substr(str,star

    2024年02月04日
    浏览(34)
  • MYSQL JSON函数详解和实战(JSON函数大全,内含示例)

    MySQL提供了许多JSON函数,用于对JSON数据进行各种处理。以下是一些常用的JSON函数。 建议收藏以备后续用到查阅参考 。 目录 一、JSON_EXTRACT 提取指定数据 二、JSON_UNQUOTE 取消双引号 三、JSON_KEYS 取成员的数组 四、JSON_ARRAY 将参数转为数组 五、JSON_OBJECT 参数转为对象 六、JSO

    2024年02月04日
    浏览(49)
  • MYSQL字符串函数详解和实战(字符串函数大全,内含示例)

    MySQL提供了许多字符串函数,用于处理和操作字符串数据。以下是一些常用的MYSQL字符串函数。 建议收藏以备后续用到查阅参考 。 目录 一、CONCAT 拼接字符串 二、CONCAT_WS 拼接字符串 三、SUBSTR 取子字符串 四、SUBSTRING 取子字符串 五、SUBSTRING_INDEX 取子字符串 六、REPLACE 替换子

    2024年02月05日
    浏览(62)
  • 珍藏多年的MySQL函数大全笔记,掌握数据库真不难

    做程序员的谁会离得开数据库呢? 今天就来分享一下我整理的MySQL的常用函数,基本上囊括了平时要用的函数,它们已经陪我走过了不少年头了,风里来雨里去,缝缝补补又几年,希望能帮到你们! 如果数据库函数你能用得好,其他的东西也就水到渠成了。 序号 函数 说明

    2023年04月23日
    浏览(55)
  • 六、MySQL---综合练习题(单表、多表、分组函数以及等级查询)

    数据库:dept_emp 1. dept表 :deptno’部门编号’、dname’部门名称’、loc’地理位置’; 2. emp表 :empno ‘员工编号’、ename ‘员工名字’、job ‘职位’、mgr ‘上司’、hiredate ‘入职时间’、sal ‘基本工资’,comm ‘补贴’,deptno ‘所属部门编号’; 3. salgrade :grade ‘工资等级’

    2024年01月21日
    浏览(51)
  • MySQL数据库中的存储过程以及存储函数练习

     字段名       数据类型       主键    外键    非空   唯一    自增       id             INT               是      否       是       是           否    name    VARCHAR(50)   否      否       是       否           否    glass   VARCHAR(50)     否   

    2024年02月15日
    浏览(45)
  • 【MYSQL】聚合函数和单表/多表查询练习、子查询、内外连接

    目录 1.聚合函数 1.1.group by子句 1.2.having语句 2.单表查询  2.2单表查询 3.多表查询  3.2.子查询 5.内链接 6.外连接 函数 说明 count 返回查询到的数据的数量 sum 返回查询到的数据的总和 avg 返回查询到的数据的平均值 max 返回查询到的数据的最大值 min 返回查询到的数据的最小值

    2024年02月04日
    浏览(48)
  • Mysql - 常用插入数据的三种方法详解及练习

    目录 🥙8.1.1 mysql中常用的三种插入数据的语句 1. insert into - 插入数据 2. replace into - 插入替换数据 3. insert ignore - 如果已存在,忽略当前新数据 🥙8.1.2 以上三种方法的练习及区分 🥙8.1.3 说明 🥙8.1.4 牛客练习题 1. insert into - 插入数据 数据库会检查 主键 ,如果出现重复会报错

    2024年03月24日
    浏览(45)
  • 【ChatGPT 指令大全】怎么使用ChatGPT来帮我们写作

    在数字化时代,人工智能为我们的生活带来了无数便利和创新。在写作领域,ChatGPT作为一种智能助手,为我们提供了强大的帮助。不论是作文、文章,还是日常函电,ChatGPT都能成为我们的得力助手,快速提供准确的文本。   写出 [数字] 个有关 [主题] 的 [社群平台] 风格标题

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包