博客
关于我
MySQL之函数
阅读量:790 次
发布时间:2023-02-11

本文共 2367 字,大约阅读时间需要 7 分钟。

数据库常用函数与操作指南

一、函数的定义

在数据库中,函数是用来封装复杂逻辑的功能模块,简化数据库操作。以下是数据库函数的基本特点及常用示例:

  • 函数的定义方式:类似于Java定义方法,支持带参数调用。需要注意的是,数据库函数必须有返回值,且可以嵌套使用,例如round(avg())

  • 函数的嵌套使用:函数可以嵌套调用,常见的日期函数如DAY()MONTH()等可以灵活组合使用。使用函数时,需注意参数的顺序和数据类型。

  • 函数的应用场景:函数可以用于数据处理、日期计算、字符串操作等多个方面,极大地提升了数据库查询的复杂度和效率。


  • 二、日期函数

    日期函数是数据库中常用的工具,用于数据的时间处理。以下是常见日期函数及其使用示例:

  • NOW():获取当前日期和时间。

    select now();

    运行示例:该函数返回当前系统时间。

  • DAY()、MONTH()、YEAR():分别提取日期中的天、月、年。

    select day(now()), month(now()), year(now());

    运行示例:提取当前日期的天、月、年。

  • DATE_FORMAT()与STR_TO_DATE():用于日期格式的转换。

    select date_format(now(), '%Y-%m-%d'), str_to_date('2022-06-08', '%Y-%m-%d');

    运行示例:将日期格式从数据库转换为字符串或相反。


  • 三、字符串函数

    字符串函数是处理文本数据的重要工具,常用于数据清洗和格式转换。以下是常用字符串函数及其示例:

  • UPPER()/LOWER():用于大小写转换。

    select upper('my name is kangkang'), lower('I AM KANGKANG');
  • REPLACE():替换字符串中的子字符串。

    select replace(uuid(), '-', '');
  • SUBSTRING():提取字符串的特定子串。

    select substring('zhang san is a person', 1, 5), substring('zhang san is a person', 5);
  • TRIM()与LENGTH():去除前后空格并获取字符串长度。

    select length(' zhang san is a person '), length(trim(' zhang san is a person '));
  • CONCAT():合并多个字符串。

    select concat('aa', 'abcd');

  • 四、数字函数

    数字函数用于数据的算术和统计操作,常用于数据分析和计算。以下是常用数字函数及其示例:

  • FLOOR()与CEIL():向下取整和向上取整。

    select floor(-3.14), ceil(-3.14);
  • ROUND():四舍五入处理。

    select round(avg());

  • 五、条件判断函数

    条件判断函数用于根据特定条件获取数据,常用于数据过滤和分类。以下是常用条件判断函数及其示例:

  • IF条件判断:根据表达式结果选择返回值。

    select if(sc.cid = '01', sc.score, 0) as 语文,       if(sc.cid = '02', sc.score, 0) as 数学,       if(sc.cid = '03', sc.score, 0) as 英语from t_student s left join t_score sc on s.sid = sc.sidgroup by s.sid, s.sname;
  • CASE语句:用于更复杂的条件判断。

    select s.sid, s.sname,        case            when t1.cid = '01' then '语文'           when t2.cid = '02' then '数学'           else '未知课程'       end as 课程名称from (select * from t_score where cid = '01') t1,       (select * from t_score where cid = '02') t2,       t_student swhere t1.sid = t2.sid and t1.sid = s.sid and t1.score > t2.score;

  • 六、合并函数

    合并函数用于将多个数据源的结果合并为一个完整的数据集,常用于数据汇总和统计。以下是常用合并函数及其示例:

  • UNION与UNION ALL:将多个查询结果合并。

    select 1, 'zs', 18 union all select 2, 'ls', 22 union all select 2, 'ls', 22;
  • 小结

    • UNION:去除重复记录。
    • UNION ALL:保留所有记录,适用于同一字段数据的合并。
    • 使用前提:结果集的列数和类型必须一致。

  • 七、聚合函数

    聚合函数用于对多个记录进行统计和汇总,常用于数据分析和报表生成。以下是常用聚合函数及其示例:

  • SUM()、AVG()、MAX()、MIN():分别用于求和、平均值、最大值和最小值。

    select sum(score), avg(score), max(score), min(score)from t_student s;
  • COUNT():统计记录数量。

    select count(*) as 总记录数from t_student s;

  • 通过以上函数的学习与实践,您可以更高效地进行数据库操作,提升数据处理能力。

    转载地址:http://nxbfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>
    MySQL 添加索引,删除索引及其用法
    查看>>
    MySQL 用 limit 为什么会影响性能?
    查看>>
    MySQL 用 limit 为什么会影响性能?有什么优化方案?
    查看>>