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

MySQL में कॉलम के सभी मानों को John1, John2, John3 जैसे न्यूमेरिक इनक्रीमेंटल मानों से अपडेट करना

यूजर-डिफाइंड वेरिएबल के साथ इनक्रीमेंटल मानों को कन्कैटिनेट करना

कॉलम के सभी मानों को John1, John2, आदि में अपडेट करने के लिए, आपको इनक्रीमेंटल मान 1, 2, 3 सेट करने होंगे और उन्हें रिकॉर्ड्स के साथ कन्कैटिनेट करना होगा।

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    StudentId VARCHAR(80)
);

समान नामों के साथ रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('John');

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| StudentId |
+-----------+
| John      |
| John      |
| John      |
| John      |
| John      |
+-----------+

सभी नामों को न्यूमेरिक इनक्रीमेंटल मानों के साथ अपडेट/कन्कैटिनेट करने के लिए क्वेरी:

mysql> UPDATE DemoTable, (SELECT @row := 0) r
    SET StudentId = CONCAT('John', @row := @row + 1);

आउटपुट: Query OK, 5 rows affected

टेबल रिकॉर्ड्स फिर से जांचें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| StudentId |
+-----------+
| John1     |
| John2     |
| John3     |
| John4     |
| John5     |
+-----------+

व्याख्या:

  • (SELECT @row := 0) r एक डिराइव्ड टेबल बनाता है जो वेरिएबल @row को 0 से इनिशियलाइज़ करता है
  • @row := @row + 1 प्रत्येक पंक्ति के लिए वेरिएबल को इन्क्रीमेंट करता है और नया मान लौटाता है
  • CONCAT('John', ...) 'John' को इन्क्रीमेंटेड नंबर के साथ जोड़ता है
  • काम करने के लिए MySQL को मल्टी-टेबल UPDATE सिंटैक्स की आवश्यकता होती है

नोट: पंक्तियों का क्रम गारंटीड नहीं है जब तक कि ORDER BY का उपयोग न किया जाए। विशिष्ट क्रम के लिए:

UPDATE DemoTable, (SELECT @row := 0) r
SET StudentId = CONCAT('John', @row := @row + 1)
ORDER BY StudentId;
  1. - MySQL क्वेरी: EMP1, EMP2, EMP3 जैसे मानों वाले कॉलम से स्ट्रिंग हटाएं

    परिचय जब किसी कॉलम में EMP9, EMP4 जैसे मान हों जहां एक निश्चित प्रीफिक्स (EMP) के बाद संख्यात्मक भाग हो, तो RIGHT() और LENGTH() फंक्शन्स का उपयोग करके केवल संख्यात्मक भाग निकाला जा सकता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.39 sec) INSERT INTO DemoTable1540 VALUES(

  1. - MySQL में NULL या नॉन-NULL मानों वाले टेबल के सभी फील्ड अपडेट करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.58 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(10,NULL); Query OK, 1 row affected (0.32 sec) mysql&

  1. - MySQL में डायनामिक ऐरे के साथ LIKE क्वेरी कैसे करें?

    सिंटैक्स select * from yourTableName where yourColumnName2 like %yourValue% order by yourColumnName1 asc limit yourLimitValue; उदाहरण: कॉमा-सेपरेटेड नामों में खोज insert into demo74(user_names) values(John Smith1,John Smith2,John Smith3), (John Smith1), (David Smith1), (John Smith1,John Smith2,Jo