interview
mysql
MySQL 中你都用过哪些函数

MySQL 面试题, MySQL 中你都用过哪些函数?

MySQL 面试题, MySQL 中你都用过哪些函数?

QA

Step 1

Q:: MySQL 中你都用过哪些函数?

A:: 在 MySQL 中,有许多常用的函数可以帮助开发者处理和操作数据。常用的 MySQL 函数包括: 1. 字符串函数:如 CONCAT(), SUBSTRING(), LENGTH(), UPPER(), LOWER() 等。 2. 数值函数:如 ROUND(), CEIL(), FLOOR(), ABS() 等。 3. 日期和时间函数:如 NOW(), CURDATE(), DATE_ADD(), DATE_SUB(), DATE_FORMAT() 等。 4. 聚合函数:如 COUNT(), SUM(), AVG(), MAX(), MIN() 等。 5. 其他函数:如 IF(), COALESCE(), NULLIF(), CASE WHEN 等。

Step 2

Q:: 如何使用 CONCAT() 函数?

A:: CONCAT() 函数用于将多个字符串连接成一个字符串。例如:


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

这将返回员工的全名,将 first_name 和 last_name 连接在一起,中间用一个空格分隔。

Step 3

Q:: DATE_FORMAT() 函数的作用是什么?如何使用?

A:: DATE_FORMAT() 函数用于将日期值格式化为指定的格式。例如:


SELECT DATE_FORMAT(birth_date, '%Y-%m-%d') AS formatted_date FROM employees;

这将把 birth_date 格式化为 'YYYY-MM-DD' 的形式。

Step 4

Q:: GROUP BY 和 HAVING 的区别是什么?

A:: GROUP BY 用于将结果集按一个或多个列进行分组,通常与聚合函数一起使用。HAVING 用于过滤分组后的记录,类似于 WHERE 但 HAVING 作用于聚合结果。例如:


SELECT department_id, COUNT(*) AS num_employees
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 10;

这将返回员工数大于 10 的部门。

用途

面试中常常会问到 MySQL 函数,因为它们是处理和操作数据库数据的基础。在实际生产环境中,开发者经常需要对数据进行各种操作,如格式化、计算、聚合等,掌握这些函数能够提高开发效率和代码质量。\n

相关问题

🦆
什么是 MySQL 索引?

索引是一种用于提高数据库查询速度的数据结构。常见的索引类型有:普通索引、唯一索引、全文索引和主键索引。通过索引,MySQL 可以更快地找到记录,减少查询时间。

🦆
什么是事务?如何在 MySQL 中使用事务?

事务是一组作为单个逻辑工作单元执行的 SQL 语句,这些语句要么全部执行,要么全部不执行。可以使用 START TRANSACTION``, COMMIT``,ROLLBACK 来管理事务。例如:


START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
COMMIT;

这将确保资金从一个账户转移到另一个账户是一个原子操作。

🦆
什么是视图?在 MySQL 中如何创建和使用视图?

视图是基于 SQL 查询结果的虚拟表,可以简化复杂查询、提高安全性和可读性。使用 CREATE VIEW 来创建视图,例如:


CREATE VIEW employee_view AS
SELECT first_name, last_name, department_name
FROM employees
JOIN departments ON employees.department_id = departments.department_id;

然后可以像查询表一样查询视图:


SELECT * FROM employee_view;