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

MySQL में UPDATE WHERE से विशिष्ट पंक्ति और कॉलम मान अपडेट करें

MySQL में UPDATE स्टेटमेंट और WHERE क्लॉज का उपयोग करके विशिष्ट पंक्ति के विशिष्ट कॉलम का मान बदल सकते हैं।

सिंटैक्स

UPDATE टेबल_नाम
SET कॉलम_नाम = नया_मान
WHERE शर्त;

उदाहरण: StudentId अपडेट करें जहां StudentName = 'Carol Taylor'

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable1569 (
    -> StudentId VARCHAR(10),
    -> StudentName VARCHAR(20)
    -> );

2. डेटा डालें

mysql> INSERT INTO DemoTable1569 VALUES('John_12', 'John Smith');
mysql> INSERT INTO DemoTable1569 VALUES('David_321', 'Carol Taylor');
mysql> INSERT INTO DemoTable1569 VALUES('David_989', 'David Miller');

3. अपडेट से पहले

mysql> SELECT * FROM DemoTable1569;
+-----------+--------------+
| StudentId | StudentName  |
+-----------+--------------+
| John_12   | John Smith   |
| David_321 | Carol Taylor |
| David_989 | David Miller |
+-----------+--------------+

4. विशिष्ट पंक्ति अपडेट करें

mysql> UPDATE DemoTable1569
    -> SET StudentId = 'Carol_321'
    -> WHERE StudentName = 'Carol Taylor';
Query OK, 1 row affected. Rows matched: 1 Changed: 1

5. अपडेट के बाद

mysql> SELECT * FROM DemoTable1569;
+-----------+--------------+
| StudentId | StudentName  |
+-----------+--------------+
| John_12   | John Smith   |
| Carol_321 | Carol Taylor |
| David_989 | David Miller |
+-----------+--------------+

महत्वपूर्ण बिंदु

  • WHERE क्लॉज अनिवार्य है (नहीं तो सभी पंक्तियां अपडेट होंगी)
  • प्राथमिक कुंजी या यूनिक कॉलम पर WHERE उपयोग करें
  • Rows matched: 1 Changed: 1 - एक पंक्ति मिली और बदली
  • Changed: 0 - मान पहले से वही था

एकाधिक कॉलम अपडेट

UPDATE DemoTable1569
SET StudentId = 'Carol_321', StudentName = 'Carol Taylor Smith'
WHERE StudentId = 'David_321';

सुरक्षित अपडेट मोड

MySQL में sql_safe_updates=ON होने पर बिना KEY कॉलम के WHERE क्लॉज वाला UPDATE ब्लॉक होता है।

SET SQL_SAFE_UPDATES = 0;  -- अस्थायी रूप से बंद (सावधानी से)
  1. - MySQL में IFNULL से कॉलम में NULL मानों को विशिष्ट मान से बदलें

    IFNULL(expr, default) फ़ंक्शन का उपयोग करके क्वेरी परिणाम में NULL मानों को निर्दिष्ट डिफ़ॉल्ट मान (जैसे Robert) से बदलें। टेबल बनाएं mysql> CREATE TABLE DemoTable1878 (FirstName VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1878 VALUES(Chris), (NULL), (David), (NULL); NULL को Robert

  1. - MySQL में SELECT INTO वेरिएबल से विशिष्ट पंक्ति का एकल मान प्राप्त करें

    SELECT column INTO @variable FROM table WHERE condition का उपयोग करके एकल पंक्ति का एकल मान यूज़र-डिफ़ाइन्ड वेरिएबल में संग्रहीत करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1896 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentMarks INT ); डेटा

  1. - MySQL में कॉलम मान के पहले अक्षर को प्राप्त करके दूसरे कॉलम में डालें

    समाधान LEFT() फंक्शन का उपयोग करके पहले अक्षर को निकालें और UPDATE से दूसरे कॉलम में स्टोर करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2036 (Title) VALUES (Chris), (John), (Adam); अपडेट क्वेरी UPDATE DemoTable2036 SET FirstLetter = LEFT(Title, 1); परिणाम +-------------+-------+ | FirstLetter