mysql常用函数实例总结【聚集函数、字符串、数值、时间日期处理等】

MySQL常用函数实例总结

MySQL提供了众多的函数,用于处理数据的聚合、字符串、数值、时间日期等方面,可以实现各种复杂的数据处理操作。本文将对MySQL常用函数进行总结,以供参考。

1. 聚集函数

常用的聚集函数有:COUNT、SUM、AVG、MAX、MIN。

COUNT函数:统计行数

COUNT函数用于统计满足条件的记录数,它可以对一列或多列进行统计。语法如下:

COUNT(column_name)

示例:

查询students表中记录的总行数:

SELECT COUNT(*) FROM students;

SUM函数:计算总和

SUM函数用于计算指定列的总和。语法如下:

SUM(column_name)

示例:

计算order_items表中所有订单数量的总和:

SELECT SUM(quantity) FROM order_items;

AVG函数:计算平均数

AVG函数用于计算指定列的平均数。语法如下:

AVG(column_name)

示例:

计算sales表中所有销售额的平均值:

SELECT AVG(amount) FROM sales;

MAX函数:找出最大值

MAX函数用于找出指定列的最大值。语法如下:

MAX(column_name)

示例:

查询students表中年龄最大的学生信息:

SELECT * FROM students WHERE age = (SELECT MAX(age) FROM students);

MIN函数:找出最小值

MIN函数用于找出指定列的最小值。语法如下:

MIN(column_name)

示例:

查询students表中年龄最小的学生信息:

SELECT * FROM students WHERE age = (SELECT MIN(age) FROM students);

2. 字符串函数

常用的字符串函数有:CONCAT、SUBSTRING、LENGTH、TRIM、UPPER、LOWER。

CONCAT函数:连接字符串

CONCAT函数用于连接两个或多个字符串。语法如下:

CONCAT(string1, string2, ...)

示例:

将first_name和last_name列连接成full_name列:

SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM students;

SUBSTRING函数:提取子串

SUBSTRING函数用于从字符串中提取子串。语法如下:

SUBSTRING(string, start, length)

示例:

提取students表中每个学生的姓名的第一个字母:

SELECT SUBSTRING(first_name, 1, 1) AS initials FROM students;

LENGTH函数:返回字符串长度

LENGTH函数用于返回字符串的长度。语法如下:

LENGTH(string)

示例:

查询students表中每个学生的名字长度:

SELECT first_name, LENGTH(first_name) AS name_length FROM students;

TRIM函数:去除字符串两端的空格

TRIM函数用于去除字符串两端的空格。语法如下:

TRIM(string)

示例:

查询students表中每个学生的名字,去除两端空格:

SELECT TRIM(first_name) AS name FROM students;

UPPER函数:将字符串转换为大写

UPPER函数用于将字符串转换为大写。语法如下:

UPPER(string)

示例:

查询students表中每个学生的名字,以大写字母显示:

SELECT UPPER(first_name) AS name FROM students;

LOWER函数:将字符串转换为小写

LOWER函数用于将字符串转换为小写。语法如下:

LOWER(string)

示例:

查询students表中每个学生的名字,以小写字母显示:

SELECT LOWER(first_name) AS name FROM students;

3. 数值函数

常用的数值函数有:ROUND、CEILING、FLOOR、RAND。

ROUND函数:四舍五入

ROUND函数用于对数值进行四舍五入。语法如下:

ROUND(number, decimals)

示例:

查询sales表中每个订单的总价,保留两位小数:

SELECT ROUND(price * quantity, 2) AS total_price FROM sales;

CEILING函数:向上取整

CEILING函数用于向上取整。语法如下:

CEILING(number)

示例:

查询students表中每个学生的平均成绩,向上取整:

SELECT CEILING((math_score + english_score + science_score) / 3) AS average_score FROM students;

FLOOR函数:向下取整

FLOOR函数用于向下取整。语法如下:

FLOOR(number)

示例:

查询sales表中每个订单的平均价格,向下取整:

SELECT FLOOR(price * quantity / order_id) AS average_price FROM order_items;

RAND函数:返回随机数

RAND函数用于返回一个0~1之间的随机数。语法如下:

RAND()

示例:

查询students表中随机选择两个学生的信息:

SELECT * FROM students ORDER BY RAND() LIMIT 2;

4. 时间日期函数

常用的时间日期函数有:NOW、DATE_FORMAT、DATE_ADD、DATEDIFF。

NOW函数:返回当前时间

NOW函数用于返回当前时间。语法如下:

NOW()

示例:

查询当前时间:

SELECT NOW();

DATE_FORMAT函数:格式化日期

DATE_FORMAT函数用于将日期格式化成指定的格式。语法如下:

DATE_FORMAT(date, format)

示例:

将sales表中的订单日期格式化成年-月-日的格式:

SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS date FROM sales;

DATE_ADD函数:日期加减

DATE_ADD函数用于对日期进行加减操作。语法如下:

DATE_ADD(date, INTERVAL value unit)

示例:

查询距离今天10天前的日期:

SELECT DATE_ADD(NOW(), INTERVAL -10 DAY) AS date;

DATEDIFF函数:计算日期差值

DATEDIFF函数用于计算两个日期之间的天数差值。语法如下:

DATEDIFF(date1, date2)

示例:

查询距离今天还有多少天是2022年1月1日:

SELECT DATEDIFF('2022-01-01', NOW()) AS days_left;

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql常用函数实例总结【聚集函数、字符串、数值、时间日期处理等】 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Ubuntu安装MySQL-python方法

    以下是Ubuntu安装MySQL-python的完整攻略。 安装MySQL-python 在Ubuntu上安装MySQL-python,需要首先安装pip和MySQL开发包。 安装pip Ubuntu 18.04及以上版本,pip已经默认安装。可以通过以下命令确认pip是否已安装: pip –version 如果提示“Command ‘pip’ not f…

    database 2023年5月22日
    00
  • 阿里云服务器搭建Php+Apache运行环境的详细过程

    我会为您提供阿里云服务器搭建Php+Apache运行环境的详细过程攻略。 准备工作 在您开始搭建之前,请确保您已经完成以下准备工作: 拥有一台阿里云服务器,如果还没有,请先购买并开通。 确认您已经连接到您的阿里云服务器,并且拥有root或具有sudo权限的用户账户。 步骤一 安装Apache 在进行设置之前,首先需要确认您的服务器是否已经安装了Apache。…

    database 2023年5月22日
    00
  • MySQL备份与恢复之保证数据一致性(5)

    下面是详细讲解“MySQL备份与恢复之保证数据一致性(5)”的完整攻略。 一、概述 在进行MySQL的备份与恢复时,我们需要保证备份数据与原始数据的一致性,以支持数据的正确恢复和使用。本文将介绍如何保证MySQL备份与恢复的数据一致性。 二、保证备份数据的一致性 1. 使用InnoDB引擎 InnoDB引擎支持事务和行锁机制,可以减轻并发冲突和数据损坏风险。…

    database 2023年5月21日
    00
  • 详解MySQL DISTINCT:过滤重复数据

    MySQL DISTINCT是用来过滤重复数据的关键字。它对于需要在SELECT语句中查询不同值的情况非常有用。 使用MySQL DISTINCT可以根据一个或多个列选择唯一的值。如果SELECT语句中包含多个列,DISTINCT将根据这些列的组合选择唯一的组合。 语法 SELECT DISTINCT column_name(s) FROM table_na…

    MySQL 2023年3月9日
    00
  • 超级键和候选键的区别

    超级键通常指的是按键组合,例如在 Windows 系统下,常见的超级键组合包括 Ctrl+Alt+Delete、Win+R、Win+E 等。这些组合键可以方便地调用系统功能,快速打开软件应用和文件,提高工作效率。而候选键则是指输入法中的一个特殊按键,在输入中文时可以调出一个弹窗,列出所有可能的结果,用户可以选择正确的汉字。下面就分别介绍超级键和候选键的不同之…

    database 2023年3月27日
    00
  • 【django后端分离】Django Rest Framework之认证系统之redis数据库的token认证(token过期时间)

    1:登录视图 redis_cli.py文件:          import redis          Pool= redis.ConnectionPool(host=’localhost’,port=6379,decode_responses=True)登录视图文件:import redisfrom utils.redis_cli import Poo…

    Redis 2023年4月13日
    00
  • Redis – increment 递增方法 | 处理防重复和并发问题

      慌途L 2019-08-11 15:51:20 21316 收藏 25分类专栏: 日常记录 Redis 文章标签: redis increment 防重复 并发 递增版权 日常记录同时被 2 个专栏收录39 篇文章0 订阅订阅专栏 Redis3 篇文章0 订阅订阅专栏Redis – increment 递增方法 | 处理防重复和并发问题一、使用场景1.有…

    Redis 2023年4月11日
    00
  • mysql自动填充时间的两种实现方式小结

    当使用MySQL存储数据时,时间戳(timestamp)是存储日期和时间的常见字段类型之一,它经常用于记录数据的创建时间或最后更新时间。在MySQL中,有两种自动填充时间戳的方式:使用DEFAULT和使用TRIGGER。 使用DEFAULT 使用DEFAULT选项可以在创建表时指定自动将时间戳字段设置为当前日期和时间。这是一个简单而快捷的设置方式,但是请注意…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部