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

MySQL में वर्तमान मान में संख्या जोड़ना (एकाधिक बार एक साथ)

समाधान: UPDATE के साथ अंकगणितीय संक्रिया

MySQL में किसी कॉलम के वर्तमान मान में संख्या जोड़ने के लिए UPDATE स्टेटमेंट में सीधे अंकगणितीय अभिव्यक्ति का उपयोग करें।

सिंटैक्स

UPDATE yourTableName 
SET yourColumnName = yourColumnName + yourIntegerValue 
WHERE yourCondition;

व्यावहारिक उदाहरण

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE addANumberToCurrentValueDemo (
    -> Game_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Game_Score INT
    -> );

mysql> INSERT INTO addANumberToCurrentValueDemo(Game_Score) VALUES
    -> (1090), (204), (510), (7890), (8999), (1093859), (157596), (4857567);

विशिष्ट पंक्ति अद्यतन करना (Game_Id = 5)

mysql> UPDATE addANumberToCurrentValueDemo 
    -> SET Game_Score = Game_Score + 11 
    -> WHERE Game_Id = 5;
Query OK, 1 row affected (0.15 sec)

परिणाम

Game_IdGame_Score (पहले)Game_Score (बाद में)
589999010

एकाधिक पंक्तियाँ एक साथ अद्यतन करना

शर्त के आधार पर

-- सभी स्कोर में 100 जोड़ें जहां स्कोर 1000 से कम है
UPDATE addANumberToCurrentValueDemo 
SET Game_Score = Game_Score + 100 
WHERE Game_Score < 1000;

केस स्टेटमेंट के साथ सशर्त वृद्धि

UPDATE addANumberToCurrentValueDemo 
SET Game_Score = Game_Score + CASE 
    WHEN Game_Score < 1000 THEN 100
    WHEN Game_Score < 10000 THEN 50
    ELSE 10
END;

महत्वपूर्ण नोट्स

  • WHERE क्लॉज के बिना सभी पंक्तियाँ अद्यतन हो जाएंगी
  • लेनदेन (TRANSACTION) का उपयोग करके सुरक्षित रूप से एकाधिक अद्यतन करें
  • बड़े टेबल पर प्रदर्शन के लिए इंडेक्स सुनिश्चित करें
  1. - MySQL 8.0 में ROW_NUMBER() विंडो फ़ंक्शन से SELECT क्वेरी में पंक्ति संख्या (रैंक) जोड़ें

    MySQL 8.0+ में ROW_NUMBER() विंडो फ़ंक्शन का उपयोग करके SELECT क्वेरी के परिणाम सेट में क्रमिक पंक्ति संख्या (रैंक) जोड़ सकते हैं। यह पेजिनेशन, रैंकिंग, और पंक्ति पहचान के लिए मानक, घोषणात्मक तरीका है। सिंटैक्स SELECT column_list, ROW_NUMBER() OVER (ORDER BY sort_column [ASC|DESC]) AS Rank

  1. - MySQL में विशिष्ट मान वाले कॉलम की संख्या कैसे गिनें?

    SUM() के साथ गणना बाइनरी मान (0/1) वाले कॉलम के लिए: select sum(value1+value2+value3) as `Total_Number_Of_1`, sum(value1 and value2 and value3) as `Total_Number_Of_Rows_With_1` from yourTableName; उदाहरण insert into demo36(value1,value2,value3) values(1,0,0), (1,0,1), (1,1,1), (0,1,0), (

  1. - MySQL में एक ही INSERT से कई पंक्तियाँ एक साथ कैसे डालें?

    मल्टी-रो INSERT सिंटैक्स insert into yourTableName values (val1, val2, ...), (val1, val2, ...), (val1, val2, ...); उदाहरण (4,Carol,Taylor,20); परिणाम +------+------------+-----------+------+ | id | first_name | last_name | age | +------+------------+-----------+------+ | 1 | John