MySQL 函数是数据库操作中不可或缺的部分,它们提供了强大的数据处理能力。本文将全面解析 MySQL 函数,从基础概念到高级应用,帮助您从入门到精通,掌握必备实用技巧。
一、MySQL函数概述
MySQL函数分为以下几类:
系统函数
:提供系统级别的信息,如
USER()
、
DATABASE()
等。
字符串函数
:用于处理字符串,如
CONCAT()
、
LENGTH()
、
REPLACE()
等。
数学函数
:进行数学运算,如
ABS()
、
CEILING()
、
FLOOR()
等。
日期和时间函数
:处理日期和时间,如
CURRENT_DATE()
、
NOW()
、
TIMESTAMP()
等。
聚合函数
:对一组值进行计算,如
SUM()
、
AVG()
、
COUNT()
等。
JSON函数
:用于处理JSON数据类型,如
JSON_EXTRACT()
、
JSON_UNQUOTE()
等。
二、基础函数详解
1. 字符串函数
CONCAT(str1, str2, …)
: 连接一个或多个字符串。
SELECT CONCAT(‘Hello, ‘, ‘World!’);
LENGTH(str)
: 返回字符串的长度。
SELECT LENGTH(‘Hello, World!’);
REPLACE(str, from_str, to_str)
: 替换字符串中的指定字符。
SELECT REPLACE(‘Hello, World!’, ‘World’, ‘MySQL’);
2. 数学函数
ABS(num)
: 返回数字的绝对值。
SELECT ABS(-5);
CEILING(num)
: 返回大于等于参数的最小整数。
SELECT CEILING(3.14);
FLOOR(num)
: 返回小于等于参数的最大整数。
SELECT FLOOR(3.14);
3. 日期和时间函数
CURRENT_DATE()
: 返回当前日期。
SELECT CURRENT_DATE();
NOW()
: 返回当前日期和时间。
SELECT NOW();
TIMESTAMP()
: 返回当前的时间戳。
SELECT TIMESTAMP();
4. 聚合函数
SUM(column)
: 返回某一列的总和。
SELECT SUM(column_name) FROM table_name;
AVG(column)
: 返回某一列的平均值。
SELECT AVG(column_name) FROM table_name;
COUNT(column)
: 返回某一列的记录数。
SELECT COUNT(column_name) FROM table_name;
三、高级函数应用
1. JSON函数
JSON_EXTRACT(json_doc, path)
: 提取 JSON 文档中指定路径的数据。
SELECT JSON_EXTRACT(‘{“name”: “John”, “age”: 30}’, ‘$.name’);
JSON_UNQUOTE(json_str)
: 去除 JSON 字符串中的引号。
SELECT JSON_UNQUOTE(JSON_EXTRACT(‘{“name”: “John”, “age”: 30}’, ‘$.name’));
2. 用户定义函数
创建一个简单的用户定义函数:
CREATE FUNCTION GetFullName(first_name VARCHAR(50), last_name VARCHAR(50))
RETURNS VARCHAR(100)
BEGIN
RETURN CONCAT(first_name, ‘ ‘, last_name);
END;
使用用户定义函数:
SELECT GetFullName(‘John’, ‘Doe’);
四、总结
MySQL 函数是数据库操作中不可或缺的工具,熟练掌握这些函数将极大地提高您的数据库操作效率。本文从基础到高级,全面解析了 MySQL 函数,希望对您有所帮助。在实际应用中,不断练习和积累经验,您将能够更好地运用这些函数解决实际问题。