本文共 2276 字,大约阅读时间需要 7 分钟。
从数据库中筛选满足条件的记录。
示例:
SELECT COUNT(*) FROM t_employee; # 统计员工表的总记录数SELECT COUNT(DISTINCT dept_id) FROM t_employee; # 统计部门 ID 的去重后非 NULL 值数
用于对结果进行分组统计,常配合聚合函数使用。
示例:
SELECT dept_id, COUNT(*) FROM t_employee GROUP BY dept_id; # 统计每个部门的人数
用于在分组查询后进一步筛选结果。
示例:
SELECT dept_id, COUNT(*) AS c FROM t_employee GROUP BY dept_id HAVING c < 3; # 显示部门人数少于 3 人的信息
按指定字段对结果进行排序。
示例:
SELECT t_employee.eid, basic_salary FROM t_employee INNER JOIN t_salary ON t_employee.eid = t_salary.eid ORDER BY basic_salary, eid; # 按基本工资升序排列,工资相同则按 eid 升序排列
用于限制返回的记录数量。
limit (page-1)*n, n,其中 page 为页码,n 为每页显示的记录数。示例:
SELECT * FROM t_employee LIMIT 5,5; # 查看前 5 页,每页显示 5 条记录
MySQL 提供丰富的函数,涵盖数学、字符串、日期时间等多个领域。
示例:
DATE_FORMAT('2024-05-15', '%Y-%m-%d') # 返回 '2024-05-15'STR_TO_DATE('2024-05-15 12:34:56', '%Y-%m-%d %H:%i:%S') # 返回对应的 timestamp START TRANSACTIONCOMMITROLLBACKSET autocommit = false示例:
SET autocommit = false; # 手动事务模式START TRANSACTION;INSERT INTO t_stu_detail VALUES (1, '...', '...', '...', '...');SAVEPOINT point1;INSERT INTO t_stu_detail VALUES (2, '...', '...', '...', '...');ROLLBACK TO point1; # 回滚到保存点COMMIT; # 提交事务
以上内容可根据实际需求进行扩展和修改,希望对学习 MySQL 有所帮助!
转载地址:http://iedfk.baihongyu.com/