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

UPDATE स्टेटमेंट के SET क्लॉज में कॉलम के क्रम का क्या महत्व है? क्या यह MySQL द्वारा लौटाए गए परिणाम सेट में बड़ा अंतर लाएगा?

<घंटा/>

UPDATE स्टेटमेंट के SET क्लॉज में कॉलम का क्रम महत्वपूर्ण है क्योंकि MySQL हमें एक्सप्रेशन में इस्तेमाल किए गए कॉलम नामों पर अपडेटेड वैल्यू प्रदान करता है। हां, यह MySQL द्वारा लौटाए गए परिणाम सेट में बड़ा बदलाव लाएगा। इसे स्पष्ट करने के लिए एक उदाहरण निम्नलिखित है -

उदाहरण

इस उदाहरण में, हमारे पास एक टेबल 'निविदा' है। सबसे पहले, हम 'tender_id' को पहले के रूप में और 'rate' को SET क्लॉज में दूसरे कॉलम के रूप में उपयोग करके UPDATE स्टेटमेंट लिखेंगे और फिर हम 'rate' को पहले और 'tender_id' को दूसरे कॉलम के रूप में उपयोग करके UPDATE स्टेटमेंट लिखेंगे। तालिका 'निविदा'।

mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 200       | ABC     | 1000 |
| 300       | ABD     | 6000 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

mysql> UPDATE tender SET tender_id = tender_id + 100, rate = tender_id * 4 WHERE tender_id = 200;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

उपरोक्त क्वेरी पहले 'tender_id' के मान को अपडेट करेगी और फिर 'tender_id' के नए मान के अनुसार 'दर' के मान को अपडेट करेगी। इसे MySQL द्वारा दिए गए परिणाम सेट में निम्नानुसार देखा जा सकता है -

mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 300       | ABC     | 1200 |
| 300       | ABD     | 6000 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

mysql> UPDATE tender1 SET rate = tender_id * 4, tender_id = tender_id + 200 WHERE company = 'ABD';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0

अब, उपरोक्त क्वेरी पहले 'tender_id' के पुराने मान के अनुसार 'दर' के मान को अपडेट करेगी और फिर 'tender_id' के मान को अपडेट करेगी इसे MySQL द्वारा दिए गए परिणाम सेट में निम्नानुसार देखा जा सकता है -

mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 300       | ABC     | 1200 |
| 500       | ABD     | 1200 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

इस तरह, SET क्लॉज में कॉलम के क्रम में बदलाव से आउटपुट में बड़ा फर्क पड़ेगा।


  1. MySQL में ORDER BY columnname*1 का उद्देश्य क्या है?

    MySQL परोक्ष रूप से कॉलम को एक संख्या में बदल देगा। निम्नलिखित वाक्य रचना है - अपने TableName क्रम से अपने ColumnName*1 द्वारा *चुनें; आइए पहले एक − . बनाएं );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.53 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1441 मान (38) में डालें );क्वेरी

  1. MySQL परिणाम को निर्दिष्ट के समान कैसे सेट करें?

    इसके लिए MySQL FIND_IN_SET() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.52 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1563 मानों में डालें (1020, सैम); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) चयन कथन का उपयोग करके तालिका

  1. जावा में MySQL कनेक्शन कैसे बनाएं? locahost पर सेट करने के लिए पोर्ट नंबर क्या है?

    आपको URL में पोर्ट नंबर 3306 का उपयोग करना होगा। वाक्य रचना इस प्रकार है - jdbc:mysql://localhost:3306 उदाहरण आयात करें झूठा; कनेक्शन चोर =अशक्त; कोशिश करें {con =DriverManager.getConnection(JDBCURL,root,,123456); if(con!=null) { System.out.println (MySQL कनेक्शन पोर्ट 3306 के साथ सफल है।); } } पकड़