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

MySQL में UPDATE से प्रत्येक पंक्ति में मान कैसे जोड़ें?

MySQL में UPDATE कमांड का उपयोग करके टेबल की **सभी पंक्तियों** में एक मान जोड़ सकते हैं - चाहे पूर्णांक कॉलम हो या दिनांक कॉलम।

सिंटैक्स

पूर्णांक कॉलम के लिए

UPDATE yourTableName SET integerColumn = integerColumn + value;

दिनांक कॉलम के लिए

UPDATE yourTableName SET dateColumn = DATE_ADD(dateColumn, INTERVAL value UNIT);

उदाहरण के साथ समझें

टेबल बनाएं:

CREATE TABLE addEachRowValue (
    Id INT NOT NULL AUTO_INCREMENT,
    Amount INT,
    ShippingDate DATE,
    PRIMARY KEY(Id)
);

रिकॉर्ड डालें:

INSERT INTO addEachRowValue(Amount, ShippingDate) VALUES(100, '2019-02-21');
INSERT INTO addEachRowValue(Amount, ShippingDate) VALUES(10, '2013-04-22');
INSERT INTO addEachRowValue(Amount, ShippingDate) VALUES(110, '2015-10-25');
INSERT INTO addEachRowValue(Amount, ShippingDate) VALUES(150, '2016-03-27');
INSERT INTO addEachRowValue(Amount, ShippingDate) VALUES(190, '2018-12-29');

सभी रिकॉर्ड देखें:

SELECT * FROM addEachRowValue;

आउटपुट:

+----+--------+--------------+
| Id | Amount | ShippingDate |
+----+--------+--------------+
| 1  | 100    | 2019-02-21   |
| 2  | 10     | 2013-04-22   |
| 3  | 110    | 2015-10-25   |
| 4  | 150    | 2016-03-27   |
| 5  | 190    | 2018-12-29   |
+----+--------+--------------+

1. प्रत्येक पंक्ति के Amount में 20 जोड़ें

UPDATE addEachRowValue SET Amount = Amount + 20;

परिणाम:

SELECT Amount FROM addEachRowValue;
+--------+
| Amount |
+--------+
| 120    |
| 30     |
| 130    |
| 170    |
| 210    |
+--------+

2. प्रत्येक पंक्ति के ShippingDate में 1 महीना जोड़ें

UPDATE addEachRowValue SET ShippingDate = DATE_ADD(ShippingDate, INTERVAL 1 MONTH);

परिणाम:

SELECT ShippingDate FROM addEachRowValue;
+--------------+
| ShippingDate |
+--------------+
| 2019-03-21   |
| 2013-05-22   |
| 2015-11-25   |
| 2016-04-27   |
| 2019-01-29   |
+--------------+

अन्य दिनांक अंतराल

-- 10 दिन जोड़ें
DATE_ADD(dateCol, INTERVAL 10 DAY)

-- 3 घंटे जोड़ें
DATE_ADD(dateCol, INTERVAL 3 HOUR)

-- 2 साल घटाएं
DATE_ADD(dateCol, INTERVAL -2 YEAR)
-- या
DATE_SUB(dateCol, INTERVAL 2 YEAR)

-- 6 महीने जोड़ें
DATE_ADD(dateCol, INTERVAL 6 MONTH)

NULL मान हैंडलिंग

यदि कॉलम में NULL है, तो NULL + 20 = NULL होगा। NULL को 0 मानकर जोड़ने के लिए:

UPDATE yourTable 
SET intCol = COALESCE(intCol, 0) + 20;

या दो चरणों में:

UPDATE yourTable SET intCol = 0 WHERE intCol IS NULL;
UPDATE yourTable SET intCol = intCol + 20;

दिनांक कॉलम में NULL के लिए

UPDATE yourTable 
SET dateCol = DATE_ADD(COALESCE(dateCol, CURDATE()), INTERVAL 1 MONTH)
WHERE dateCol IS NULL;

नोट

  • WHERE क्लॉज के बिना **सभी** पंक्तियाँ अपडेट होती हैं
  • बड़े टेबल पर बैच में अपडेट करें (LIMIT के साथ)
  • DATE_ADD और ADDDATE समान हैं
  • इंडेक्स वाले कॉलम अपडेट करने पर इंडेक्स पुनर्निर्माण होता है
  1. - MySQL में पंक्ति कैसे हटाएं? DELETE स्टेटमेंट

    MySQL में पंक्ति हटाने के लिए DELETE का उपयोग करें। टेबल बनाएं mysql> create table DemoTable ( -> CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerName VARCHAR(100), -> CustomerAge INT -> ); Query OK, 0 rows affected (1.30 sec) रिकॉर्ड्स डालें mysql>

  1. - MySQL में एक ही क्वेरी में कॉलम और इंडेक्स कैसे जोड़ें?

    इसके लिए ALTER के साथ ADD का उपयोग करें। सिंटैक्स: alter table yourTableName add yourColumnName DATETIME DEFAULT NOW(), add index(yourColumnName); उदाहरण टेबल बनाएं: mysql> create table DemoTable ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(100), -> PRIMARY KEY(Id)

  1. - MySQL क्वेरी से विशिष्ट पंक्ति कैसे खोजें

    WHERE क्लॉज का उपयोग करके विशिष्ट रिकॉर्ड प्राप्त करना MySQL में किसी तालिका से विशिष्ट पंक्ति प्राप्त करने के लिए WHERE क्लॉज का उपयोग किया जाता है। यह एक या अधिक शर्तों के आधार पर डेटा फ़िल्टर करता है। उदाहरण: टेबल निर्माण और डेटा प्रविष्टि CREATE TABLE DemoTable ( UserId INT, UserName V