📜  mysql where 一年前 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:05.213000             🧑  作者: Mango

MySQL WHERE 子句 - 一年前的数据

介绍

MySQL 是一种常用的关系型数据库管理系统 (RDBMS)。在实际应用中,我们通常需要从数据库中检索特定的数据。这就需要使用到 WHERE 子句,根据特定的条件从数据库表中返回满足条件的数据。

本篇文章将介绍如何在 MySQL 中使用 WHERE 子句来查询一年前的数据。

语法

在 MySQL 中,使用 SELECT 语句来查询表中的数据。SELECT 语句可以包含 WHERE 子句。WHERE 子句用于指定特定的条件,以便从数据库中检索满足条件的数据。

SELECT column1, column2, ...
FROM table_name
WHERE condition;

其中:

  • column1, column2, ... - 要检索的列名称。
  • table_name - 要从中检索数据的表名称。
  • condition - 用于指定满足条件的数据,可以是一个或多个条件。
示例

在本示例中,我们将使用以下表格来演示如何检索一年前的数据:

CREATE TABLE `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `order_date` date NOT NULL,
  `customer_name` varchar(255) NOT NULL,
  `product_name` varchar(255) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

首先,我们需要向 orders 表中插入一些数据:

INSERT INTO `orders` (`order_date`, `customer_name`, `product_name`, `quantity`) VALUES
    ('2021-03-15', '张三', '商品A', 10),
    ('2021-02-28', '李四', '商品B', 20),
    ('2020-08-02', '王五', '商品C', 5),
    ('2020-11-11', '赵六', '商品D', 15),
    ('2019-12-25', '钱七', '商品E', 30);
查询一年前的数据

我们可以使用以下 SELECT 语句来检索一年前的数据:

SELECT * FROM `orders` WHERE `order_date` <= DATE_ADD(NOW(), INTERVAL -1 YEAR);

其中,DATE_ADD 函数用于将当前日期减去一年,得到一年前的日期。NOW() 函数返回当前日期和时间。

代码片段:

SELECT * FROM `orders` WHERE `order_date` <= DATE_ADD(NOW(), INTERVAL -1 YEAR);
总结

使用 WHERE 子句可以让我们从数据库中检索满足特定条件的数据。在本示例中,我们演示了如何检索一年前的数据。使用 DATE_ADD 函数可以方便地计算出一年前的日期,并可以与 WHERE 子句一起使用。