MySQL - Between 操作符:初学者指南
你好,有抱负的数据库爱好者们!今天,我们将踏上一段激动人心的旅程,探索 MySQL 的世界,特别是关注 BETWEEN 操作符。如果你是编程新手,不用担心;我会成为你的友好向导,一步一步地解释所有内容。那么,让我们开始吧!
BETWEEN 操作符是什么?
想象你在整理书架。你想找到所有在 2010 年到 2020 年之间出版的书。这正是 MySQL 中的 BETWEEN 操作符帮助我们的地方——它允许我们选择给定范围内的值。
基本语法
SELECT 列名(s)
FROM 表名
WHERE 列名 BETWEEN 值1 AND 值2;
让我们分解一下:
-
SELECT
:就像说“我想看到...” -
列名(s)
:你想要看到的具体信息 -
FROM 表名
:信息存储的地方 -
WHERE
:我们设置条件的方式 -
BETWEEN 值1 AND 值2
:我们的范围
MySQL BETWEEN 操作符实战
假设我们有一个名为 books
的表,包含列 id
、title
、author
和 publication_year
。以下是如何使用 BETWEEN 的示例:
SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020;
这个查询将向我们展示所有在 2010 年到 2020 年之间(包括)出版的书。就像问,“展示我从 2010 年到 2020 年(包括)的所有书。”
BETWEEN 与日期
BETWEEN 也非常适合与日期一起使用!假设我们有一个 orders
表:
SELECT order_id, customer_name, order_date
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
这将展示所有在 2023 年下的订单。很酷,对吧?
MySQL BETWEEN 与 IN 操作符
现在,让我们来点刺激的。如果我们只想找到在 2010 年到 2020 年之间出版,但仅限于某些作者的书呢?这时我们可以将 BETWEEN 与 IN 结合使用:
SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020
AND author IN ('J.K. Rowling', 'George R.R. Martin', 'Stephen King');
这个查询就像说,“展示我从 2010 年到 2020 年(包括)的书,但只有这些特定作者写的。”
MySQL BETWEEN 与 UPDATE 语句
有时,我们不仅仅是想查看数据——我们想更改它。假设我们想给所有价格在 $50 到 $100 之间的产品打 10% 的折扣:
UPDATE products
SET price = price * 0.9
WHERE price BETWEEN 50 AND 100;
这个查询更新价格,对指定范围内的产品应用 10% 的折扣。
BETWEEN 操作符与 DELETE 语句
BETWEEN 操作符也可以在我们要删除数据时使用。想象我们要删除 2023 年第一季度的所有订单:
DELETE FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-03-31';
这将删除所有在 2023 年前三个月下的订单。使用 DELETE 语句时要小心——运行之前一定要双倍检查!
MySQL NOT BETWEEN 操作符
有时,我们想要特定范围之外的所有内容。这时 NOT BETWEEN 就派上用场了:
SELECT title, author, publication_year
FROM books
WHERE publication_year NOT BETWEEN 2010 AND 2020;
这个查询展示所有在 2010 年之前或 2020 年之后出版的书。
NOT BETWEEN 操作符与 IN 操作符
我们可以将 NOT BETWEEN 与 IN 结合起来进行更具体的查询:
SELECT product_name, price
FROM products
WHERE price NOT BETWEEN 50 AND 100
AND category IN ('Electronics', 'Appliances');
这个查询找到在 Electronics 或 Appliances 类别中,价格低于 $50 或高于 $100 的产品。
在客户端程序中使用 BETWEEN 操作符
当在客户端程序(如 PHP 脚本)中使用 BETWEEN 时,你可能会这样做:
<?php
$min_price = 50;
$max_price = 100;
$query = "SELECT product_name, price FROM products WHERE price BETWEEN ? AND ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("dd", $min_price, $max_price);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row['product_name'] . ": $" . $row['price'] . "<br>";
}
?>
这个 PHP 脚本准备了一个带有占位符的查询,绑定值,执行查询,然后显示结果。
结论
好了,各位!我们已经穿越了 MySQL 中 BETWEEN 操作符的世界。从基本的选取到更新和删除,我们已经看到了这个小巧的操作符有多么多功能。记住,熟能生巧,所以不要害怕用你自己的查询来实验。
以下是我们涵盖的方法的快速参考表:
方法 | 描述 |
---|---|
BETWEEN | 选择给定范围内的值 |
BETWEEN 与 IN | 结合范围和特定值选择 |
BETWEEN 与 UPDATE | 更新特定范围内的记录 |
BETWEEN 与 DELETE | 删除特定范围内的记录 |
NOT BETWEEN | 选择给定范围之外的值 |
NOT BETWEEN 与 IN | 结合排除范围与特定值选择 |
快乐查询,愿你的数据库永远井井有条且高效!
Credits: Image by storyset