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

MySQL में UPDATE और REPLACE() का उपयोग करके एक ही क्वेरी में एकाधिक कॉलम अपडेट करना

MySQL में एक ही UPDATE स्टेटमेंट में REPLACE() फ़ंक्शन का उपयोग करके एकाधिक कॉलम के मान एक साथ बदलें।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentCountryName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.67 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentCountryName) VALUES('John', 'US');

मौजूदा डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
| 1         | John        | US                 |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

दोनों कॉलम एक साथ अपडेट करना

mysql> UPDATE DemoTable
    -> SET StudentName = REPLACE(StudentName, 'John', 'Chris'),
    ->     StudentCountryName = REPLACE(StudentCountryName, 'US', 'UK');
Query OK, 1 row affected (0.69 sec)
Rows matched: 1  Changed: 1  Warnings: 0

अपडेट के बाद डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
| 1         | Chris       | UK                 |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

मुख्य बिंदु:

  • कॉमा से अलग करके एक UPDATE में कई कॉलम सेट करें
  • REPLACE(col, old, new) कॉलम मान में old के सभी उदाहरणों को new से बदलता है
  • यदि old नहीं मिलता, तो मान अपरिवर्तित रहता है
  • प्रत्येक कॉलम के लिए अलग UPDATE चलाने से बेहतर (एकल टेबल लॉक, एकल पास)

सामान्य पैटर्न (REPLACE के बिना सीधा मान):

UPDATE DemoTable
SET StudentName = 'Chris',
    StudentCountryName = 'UK'
WHERE StudentId = 1;

सशर्त अपडेट:

UPDATE DemoTable
SET Status = CASE WHEN Score >= 60 THEN 'Pass' ELSE 'Fail' END,
    UpdatedAt = NOW()
WHERE ExamDate < CURDATE();
  1. - MySQL में एकल क्वेरी में कई कॉलम को एक साथ सॉर्ट करना

    GREATEST() फंक्शन का उपयोग करके पंक्ति-वार अधिकतम के आधार पर सॉर्ट करना कई कॉलम सॉर्ट करने के लिए ORDER BY GREATEST() का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1395 ( Value1 int, Value2 int, Value3 int ); Query OK, 0 rows affected (0.79 sec) रिकॉर्ड डालें: insert into DemoTable1395 val

  1. - MySQL में एक ही क्वेरी में एकाधिक रिकॉर्ड कैसे अपडेट करें?

    MySQL में UPDATE स्टेटमेंट में WHERE क्लॉज का उपयोग करके एक ही क्वेरी में एकाधिक कॉलम अपडेट किए जा सकते हैं, लेकिन एकाधिक पंक्तियों को अलग-अलग मानों से अपडेट करने के लिए CASE या एकाधिक क्वेरी की आवश्यकता होती है। उदाहरण: एक पंक्ति, एकाधिक कॉलम तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -&

  1. - MySQL में एक क्वेरी से दो कॉलम कैसे अपडेट करें?

    MySQL में एक ही UPDATE स्टेटमेंट में एकाधिक कॉलम अपडेट करने के लिए, SET क्लॉज़ में कॉलम को कॉमा से अलग करके सूचीबद्ध करें। यह एटॉमिक ऑपरेशन सुनिश्चित करता है और क्वेरी ओवरहेड कम करता है। उदाहरण: FirstName और LastName एक साथ अपडेट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1909 ( Id