MySQL 是一个流行的关系型数据库管理系统,提供了丰富的内置函数,用于在查询和数据处理中执行各种操作。以下是一些常用的 MySQL 函数,以及它们在不同场景中的用法和用例:
用于连接两个或多个字符串。
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
返回字符串的子串。
SELECT SUBSTRING(description, 1, 50) AS short_description FROM products;
返回当前日期和时间。
SELECT NOW() AS current_datetime ;
格式化日期。
SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS formatted_date FROM orders;
以下是一些常用的日期格式和它们的含义:
%Y: 四位年份
%y: 两位年份
%m: 月份(01-12)
%c: 月份(1-12)
%d: 日期(01-31)
%H: 小时(00-23)
%h: 小时(01-12)
%i: 分钟(00-59)
%s: 秒(00-59)
%W: 星期全名(Sunday 到 Saturday)
%a: 星期缩写(Sun 到 Sat)
%M: 月份全名(January 到 December)
%b: 月份缩写(Jan 到 Dec)
以下是一个例子,将日期字段 my_date 格式化为 “YYYY-MM-DD”:
计算平均值。
SELECT AVG(price) AS average_price FROM products;
将数值四舍五入。
SELECT ROUND(total_amount, 2) AS rounded_amount FROM invoices;
实现条件逻辑。
SELECT product_name, IF(in_stock > 0, 'Available', 'Out of stock') AS availability FROM inventory;
更复杂的条件逻辑。
SELECT product_name,
CASE
WHEN stock_quantity > 0 THEN 'In stock'
WHEN stock_quantity = 0 THEN 'Out of stock'
ELSE 'Backordered'
END AS stock_status
FROM products;
计算行数。
SELECT COUNT(*) AS total_orders FROM orders;
计算总和。
SELECT SUM(quantity * price) AS total_revenue FROM order_items;
将组内值连接为字符串。
SELECT department, GROUP_CONCAT(employee_name) AS employee_list FROM employees GROUP BY department;
找到组内的最大和最小值。
SELECT department, MAX(salary) AS max_salary, MIN(salary) AS min_salary FROM employees GROUP BY department;
以上是一些 MySQL 中常用的函数,它们能够满足不同查询和数据处理的需求。根据具体情况,选择合适的函数可以简化查询语句并提高性能。