查询昨天的数据-MYSQL

简介

在数据库应用中,经常需要查询一段时间内的数据。本文将介绍如何使用MYSQL查询昨天的数据,并提供相应的代码示例。我们将使用一个示例表格来演示查询过程。

示例表格

我们先创建一个名为orders的表格,用于存储订单信息。表格包含以下字段:

字段名 类型 描述
order_id INT 订单ID
order_date DATE 订单日期
customer VARCHAR(50) 客户姓名
amount DECIMAL(8,2) 订单金额

下面是创建表格的SQL代码:

CREATE TABLE orders (
  order_id INT AUTO_INCREMENT PRIMARY KEY,
  order_date DATE,
  customer VARCHAR(50),
  amount DECIMAL(8,2)
);

查询昨天的数据

要查询昨天的数据,我们需要使用MYSQL的日期函数和条件语句。首先,我们要了解MYSQL中的日期函数CURDATE()DATE_SUB()

  • CURDATE()函数返回当前日期。
  • DATE_SUB(date, INTERVAL 1 DAY)函数用于从指定日期减去一天。

使用这些函数,我们可以编写查询昨天数据的SQL语句:

SELECT * FROM orders
WHERE order_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

上述SQL语句中,CURDATE()函数返回当前日期,DATE_SUB()函数从当前日期减去一天,然后与order_date字段进行比较,以找到昨天的数据。

完整代码示例

下面是一个完整的代码示例,演示如何查询昨天的数据:

import mysql.connector

# 建立数据库连接
cnx = mysql.connector.connect(user='your_username', password='your_password',
                              host='your_host', database='your_database')
cursor = cnx.cursor()

# 查询昨天的数据
query = """
SELECT * FROM orders
WHERE order_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY);
"""

cursor.execute(query)

# 打印查询结果
for (order_id, order_date, customer, amount) in cursor:
  print(f"订单ID: {order_id}, 订单日期: {order_date}, 客户姓名: {customer}, 订单金额: {amount}")

# 关闭数据库连接
cursor.close()
cnx.close()

请将your_usernameyour_passwordyour_hostyour_database替换为您的MYSQL数据库的实际信息。

状态图

下面是一个状态图,展示了查询昨天数据的过程:

stateDiagram
  [*] --> 查询昨天数据
  查询昨天数据 --> 连接数据库
  连接数据库 --> 查询数据
  查询数据 --> 打印结果
  打印结果 --> [*]

在这个状态图中,我们首先建立数据库连接,然后执行查询,并打印结果。最后,返回到初始状态。

结论

本文介绍了如何使用MYSQL查询昨天的数据,并提供了相应的代码示例。了解如何使用日期函数和条件语句可以帮助我们在数据库应用中进行更精确的查询。希望本文对您有所帮助!