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

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


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

उदाहरण

इस उदाहरण में, हमारे पास 'tender' टेबल है। पहले, हम SET क्लॉज में 'tender_id' को पहले और 'rate' को दूसरे कॉलम के रूप में उपयोग करके UPDATE स्टेटमेंट लिखेंगे और फिर हम 'rate' को पहले और 'tender_id' को दूसरे कॉलम के रूप में उपयोग करके 'tender' टेबल पर 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' के अनुसार 'rate' के मान को अपडेट करेगी। इसे 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' के अनुसार 'rate' के मान को अपडेट करेगी और फिर '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 में संख्यात्मक क्रमबद्धता के लिए अंतर्निहित प्रकार परिवर्तन जब संख्यात्मक डेटा VARCHAR/CHAR कॉलम में संग्रहीत होता है, तो ORDER BY column*1 से गुणा करने से MySQL को स्ट्रिंग को संख्या में अंतर्निहित रूप से परिवर्तित करने के लिए मजबूर किया जाता है, जिससे शब्दकोश क्रम के बजाय उचित संख्यात्मक क्र

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

    परिचय MySQL में FIND_IN_SET() फंक्शन का उपयोग करके परिणाम सेट को विशिष्ट ID क्रम में क्रमबद्ध किया जा सकता है जो प्राकृतिक क्रम से अलग हो। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.52 sec) INSERT INTO DemoTable1563 VALUES(1020, Sam); Query OK, 1 row affected (0.14 sec) सभ

  1. - Java में MySQL कनेक्शन: पोर्ट 3306 और JDBC URL

    Java से MySQL डेटाबेस से कनेक्ट करने के लिए JDBC ड्राइवर और सही कनेक्शन URL (पोर्ट 3306 सहित) की आवश्यकता होती है। JDBC URL प्रारूप jdbc:mysql://होस्ट:पोर्ट/डेटाबेस_नाम?पैरामीटर्स डिफ़ॉल्ट पोर्ट: 3306 jdbc:mysql://localhost:3306/sample?useSSL=false पूर्ण Java उदाहरण import java.sql.Connection; im