Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

อัปเดตช่วงเรคคอร์ดใน MySQL ด้วย BETWEEN

วิธีอัปเดตข้อมูลในช่วง (Range) ของเรคคอร์ดใน MySQL

ใช้คำสั่ง UPDATE ร่วมกับเงื่อนไข BETWEEN เพื่อระบุช่วงของคีย์หลัก (หรือคอลัมน์อื่น) ที่ต้องการอัปเดต

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มข้อมูล 10 แถว:

mysql> create table DemoTable (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name varchar(20),
    Age int
);
-- Insert 10 records with Id 1-10

ข้อมูลก่อนอัปเดต:

+----+--------+------+
| Id | Name   | Age  |
+----+--------+------+
| 1  | Larry  | 23   |
| 2  | Sam    | 24   |
| 3  | Chris  | 21   |
| 4  | Carol  | 25   |
| 5  | David  | 22   |
| 6  | Robert | 26   |
| 7  | John   | 20   |
| 8  | Mike   | 27   |
| 9  | Johnny | 28   |
| 10 | James  | 23   |
+----+--------+------+

คิวรีอัปเดตช่วง Id 5 ถึง 10 (ตั้งชื่อเป็น Bob, อายุ 23):

mysql> update DemoTable set Name='Bob', Age=23 where Id between 5 AND 10;
Query OK, 6 rows affected (0.25 sec)

ข้อมูลหลังอัปเดต:

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | Larry | 23   |
| 2  | Sam   | 24   |
| 3  | Chris | 21   |
| 4  | Carol | 25   |
| 5  | Bob   | 23   |
| 6  | Bob   | 23   |
| 7  | Bob   | 23   |
| 8  | Bob   | 23   |
| 9  | Bob   | 23   |
| 10 | Bob   | 23   |
+----+-------+------+

จุดสังเกต: BETWEEN รวมค่าทั้งสองข้าง (Inclusive) คือ 5 และ 10 | สามารถใช้กับคอลัมน์อื่นได้ เช่น WHERE Age BETWEEN 20 AND 25 | ควรมี Index บนคอลัมน์ที่ใช้ใน BETWEEN เพื่อประสิทธิภาพ