MySQL查昨天与今天数据

在数据库管理系统中,MySQL是一种常用的关系型数据库,其强大的功能和易用性使得它成为众多开发者的首选。在实际开发中,经常需要查询某个时间范围内的数据,比如查找昨天和今天的数据。本文将介绍如何使用MySQL查询昨天与今天的数据,并附上相应的代码示例。

基本概念

在MySQL中,日期和时间数据类型具有多种形式,包括DATEDATETIMETIMESTAMP等。这些数据类型可以帮助我们存储和处理时间信息。要查询昨天与今天的数据,我们需要使用日期函数和比较运算符来筛选出符合条件的数据。

查询昨天与今天数据示例

假设我们有一个名为user_activity的表,其中包含了用户的活动信息和时间戳。我们需要查询昨天和今天的用户活动记录。首先我们需要创建这个表:

CREATE TABLE user_activity (
    id INT PRIMARY KEY,
    user_id INT,
    activity_type VARCHAR(255),
    activity_time TIMESTAMP
);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

接着,插入一些测试数据:

INSERT INTO user_activity (id, user_id, activity_type, activity_time)
VALUES
(1, 101, 'login', '2022-01-10 08:30:00'),
(2, 102, 'register', '2022-01-10 10:45:00'),
(3, 103, 'login', '2022-01-11 09:00:00'),
(4, 104, 'login', '2022-01-11 12:00:00');
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

现在我们来查询昨天和今天的用户活动记录:

SELECT *
FROM user_activity
WHERE DATE(activity_time) = CURDATE() OR DATE(activity_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY);
  • 1.
  • 2.
  • 3.

上面的代码中,CURDATE()函数用于获取当前日期,DATE_SUB()函数用于计算昨天的日期。通过比较运算符=,我们筛选出符合条件的数据。运行以上SQL语句,即可查询到昨天和今天的用户活动记录。

ER关系图

下面是user_activity表的ER关系图,描述了表中各字段之间的关系:

USER_ACTIVITY int id int user_id varchar activity_type timestamp activity_time

旅行图

下面是一个简单的旅行图示例,展示了从今天到昨天的时间旅行:

journey
    title Time Travel
    section Today
        Today is a new day
    section Yesterday
        Visiting the past

结语

本文介绍了如何使用MySQL查询昨天与今天的数据,通过日期函数和比较运算符实现条件筛选。在实际开发中,掌握这些技巧可以帮助我们更轻松地处理时间相关的数据。希望本文对大家有所帮助!