MySQL员工打卡日志表——数据库练习

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: MySQL员工打卡日志表——数据库练习

简单的员工打卡日志表的建表语句以及对应的测试数据。为了简单明了,我们将使用一个包含以下字段的表:

列名 数据类型 描述
id INT 记录的唯一标识符
name VARCHAR(50) 员工姓名
department VARCHAR(50) 员工所在的部门
log_date DATE 打卡日期
time_in TIME 打卡时间(上班)
time_out TIME 打卡时间(下班)

建表语句

CREATE TABLE Employee_Attendance_Log (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    department VARCHAR(50),
    log_date DATE,
    time_in TIME,
    time_out TIME
);

运行效果:

测试信息

INSERT INTO Employee_Attendance_Log (name, department, log_date, time_in, time_out)
VALUES 
    ('张三', '销售部', '2023-07-01', '09:00', '18:00'),
    ('李四', '市场部', '2023-02', '09:30', '17:30'),
    ('王五', '人力资源部', '2023-07-03', '11:00', NULL),
    ('赵六', '技术部', '2023-07-04', NULL, '17:30'),
    ('张三', '销售部', '2023-07-05', '12:30', '18:30'),
    ('李四', '市场部', '2023-07-06', '13:35', '16:45'),
    ('王五', '人力资源部', '2023-07-07', '16:38', NULL),
    ('赵六', '技术部', '2023-07-14', NULL, NULL),
    ('张三', '销售部', '2023-07-15', '16:45', ''),
    ('李四', '市场部', '2023-07-16', '', ''),
    ('王五', '人力资源部', '', '', '21:45');

运行效果:

表查询

查询语句:

select * from Employee_Attendance_Log;

运行效果:

练习题

题目1:如何查询在 ‘人力资源部’ 的所有员工的出勤日志?

答案:可以使用以下查询语句来查询在 ‘人力资源部’ 的所有员工的出勤日志:

SELECT * FROM Employee_Attendance_Log WHERE department = '人力资源部';

解析:根据查询条件,只需要在 ‘WHERE’ 子句中指定部门字段为 ‘人力资源部’,即可查询出在 ‘人力资源部’ 的所有员工的出勤日志。

题目2:如何查询在 ‘技术部’ 的员工的出勤日志中未填写离开时间的记录?

答案:可以使用以下查询语句来查询在 ‘技术部’ 的员工的出勤日志中未填写离开时间的记录:

SELECT * FROM Employee_Attendance_Log WHERE department = '技术部' AND time_out IS NULL;

解析:根据查询条件,需要同时满足部门字段为 ‘技术部’ 和离开时间字段为 NULL,即可查询到在 ‘技术部’ 的员工的出勤日志中未填写离开时间的记录。

题目3:如何统计每个月份内各部门的员工出勤总次数?

答案:可以使用以下查询语句来统计每个月份内各部门的员工出勤总次数:

SELECT department, MONTH(log_date) AS Month, COUNT(*) AS AttendanceCount FROM Employee_Attendance_Log GROUP BY department, Month;

解析:首先根据表名和字段名选择出需要统计的字段,然后使用 GROUP BY 子句按照部门和月份进行分组,最后使用 COUNT(*) 函数统计每个月份内各部门的员工出勤总次数。

题目4:如何查询在特定日期范围内所有员工的出勤日志?

答案:可以使用以下查询语句来查询在特定日期范围内所有员工的出勤日志:

SELECT * FROM Employee_Attendance_Log WHERE log_date BETWEEN '2023-07-01' AND '2023-07-31';

解析:根据查询条件,只需要在 ‘WHERE’ 子句中指定日期字段在特定日期范围内即可查询到在该范围内的所有员工的出勤日志。

相关文章
|
3月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
123 2
|
3月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
224 6
|
4月前
|
SQL 运维 关系型数据库
深入探讨MySQL的二进制日志(binlog)选项
总结而言,对MySQL binlogs深度理解并妥善配置对数据库运维管理至关重要;它不仅关系到系统性能优化也是实现高可靠性架构设计必须考虑因素之一。通过精心规划与周密部署可以使得该机能充分发挥作用而避免潜在风险带来影响。
152 6
|
4月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
669 5
|
10月前
|
存储 缓存 监控
【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
数据库运行正常,日志出现大量错误metadata changed
|
5月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
459 0
|
10月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
720 90
|
8月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
336 23
|
9月前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
11月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
526 5
图解MySQL【日志】——Redo Log

推荐镜像

更多