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技术站