BETWEEN ऑपरेटर का उपयोग करके रेंज अपडेट
MySQL में ID या किसी संख्यात्मक कॉलम की एक रेंज में आने वाले रिकॉर्ड्स को अपडेट करने के लिए BETWEEN ऑपरेटर का उपयोग करें।
सिंटैक्स
UPDATE yourTableName SET column1 = value1, column2 = value2, ... WHERE idColumn BETWEEN startValue AND endValue;
उदाहरण
1. टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
Age INT
);
Query OK, 0 rows affected (0.53 sec)
2. डेटा डालना (10 रिकॉर्ड्स)
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Larry', 23);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Sam', 24);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Chris', 21);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Carol', 25);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('David', 22);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Robert', 26);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('John', 20);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Mike', 27);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Johnny', 28);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('James', 23);
3. अपडेट से पहले सभी रिकॉर्ड्स
mysql> SELECT * FROM DemoTable;
+----+--------+------+ | 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 | +----+--------+------+ 10 rows in set (0.00 sec)
4. ID 5 से 10 तक के रिकॉर्ड्स अपडेट करना
mysql> UPDATE DemoTable
SET Name = 'Bob', Age = 23
WHERE Id BETWEEN 5 AND 10;
Query OK, 6 rows affected (0.25 sec)
Rows matched: 6 Changed: 6 Warnings: 0
5. अपडेट के बाद सभी रिकॉर्ड्स
mysql> SELECT * FROM DemoTable;
+----+-------+------+ | 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 | +----+-------+------+ 10 rows in set (0.00 sec)
BETWEEN के महत्वपूर्ण बिंदु
- समावेशी: BETWEEN 5 AND 10 में 5 और 10 दोनों शामिल हैं
- डेटा प्रकार: संख्या, तारीख, स्ट्रिंग सभी के साथ काम करता है
- स्ट्रिंग के साथ: वर्णानुक्रम में तुलना होती है ('A' से 'M' तक)
- तारीख के साथ: '2023-01-01' AND '2023-12-31' पूरे साल के लिए
वैकल्पिक सिंटैक्स
-- BETWEEN के बजाय तुलना ऑपरेटर WHERE Id >= 5 AND Id <= 10 -- IN ऑपरेटर (असतत मानों के लिए) WHERE Id IN (5, 6, 7, 8, 9, 10) -- एकाधिक रेंज WHERE (Id BETWEEN 1 AND 3) OR (Id BETWEEN 7 AND 10)
सावधानी
-- पहले चेक करें कौन से रिकॉर्ड्स प्रभावित होंगे SELECT * FROM DemoTable WHERE Id BETWEEN 5 AND 10; -- फिर अपडेट चलाएं UPDATE DemoTable SET Name = 'Bob' WHERE Id BETWEEN 5 AND 10;