Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में रिकॉर्ड्स की एक रेंज को कैसे अपडेट करें?

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)

सावधानी

⚠️ ध्यान दें: UPDATE बिना WHERE के सभी रिकॉर्ड्स बदल देगा। हमेशा WHERE क्लॉज के साथ उपयोग करें और पहले SELECT से वेरिफाई करें:
-- पहले चेक करें कौन से रिकॉर्ड्स प्रभावित होंगे
SELECT * FROM DemoTable WHERE Id BETWEEN 5 AND 10;

-- फिर अपडेट चलाएं
UPDATE DemoTable SET Name = 'Bob' WHERE Id BETWEEN 5 AND 10;
  1. - MySQL टेबल में मान कैसे अपडेट करें?

    UPDATE स्टेटमेंट और WHERE क्लॉज की मदद से हम टेबल की एकल या एकाधिक पंक्तियों में मान अपडेट कर सकते हैं। MySQL WHERE क्लॉज में निर्दिष्ट शर्त के आधार पर मान अपडेट करता है। उदाहरण के लिए, मान लीजिए employee टेबल में हम उस कर्मचारी का name और doj बदलना चाहते हैं जिसकी id 1 है तो इसे निम्नलिखित क्वेरी

  1. Java से MySQL डेटाबेस में डेटा कैसे अपडेट करें? Java से MySQL डेटाबेस में डेटा कैसे अपडेट करें?

    JDBC का उपयोग करके MySQL में रिकॉर्ड अपडेट करें Java से MySQL डेटाबेस में डेटा अपडेट करने के लिए, आप JDBC (Java Database Connectivity) API के साथ SQL UPDATE कथन का उपयोग करते हैं। SQL सिंटैक्स UPDATE टेबल_नाम SET कॉलम1 = मान1, कॉलम2 = मान2, ... WHERE शर्त; पूर्ण Java उदाहरण 1. डेटाबेस तैयारी IN

  1. - MySQL में SUM() और MONTH() से वर्तमान माह के रिकॉर्ड का योग प्राप्त करें

    SUM() एग्रीगेट फ़ंक्शन के साथ MONTH() और YEAR() फ़िल्टर का उपयोग करके वर्तमान माह के रिकॉर्ड का योग प्राप्त करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1889 (DueDate DATE, Amount INT); डेटा डालें mysql> INSERT INTO DemoTable1889 VALUES(2019-12-11, 500), (2019-11-11, 1000), (2018-12-04, 700