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

MySQL चयन क्वेरी में किसी व्यक्तिगत फ़ील्ड के मानों के लिए कुंजियों को कैसे मैप करें?

<घंटा/>

आप MySQL में CASE स्टेटमेंट का उपयोग चुनिंदा क्वेरी में किसी व्यक्तिगत फ़ील्ड के मानों के लिए कुंजियों को मैप करने के लिए कर सकते हैं। वाक्य रचना इस प्रकार है -

SELECT yourColumnName1,yourColumnName2,yourColumnName3,.........N
(
   CASE WHEN yourColumnName = 1 THEN 'ENABLED'
   ELSE 'DISABLED'
   END
) AS anyVariableName
FROM yourTableName;

आप इसी उद्देश्य के लिए IF() फ़ंक्शन का भी उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है -

SELECT yourColumnName1,yourColumnName2,yourColumnName3,.........N
,IF(yourColumnName,'ENABLED','DISABLED') as anyVariableName FROM yourTableName;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> create table MapKeys
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> isActive boolean,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.65 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> insert into MapKeys(Name,isActive) values('Larry',true);
Query OK, 1 row affected (0.13 sec)

mysql> insert into MapKeys(Name,isActive) values('David',false);
Query OK, 1 row affected (0.16 sec)

mysql> insert into MapKeys(Name,isActive) values('Mike',true);
Query OK, 1 row affected (0.14 sec)

mysql> insert into MapKeys(Name,isActive) values('Carol',false);
Query OK, 1 row affected (0.17 sec)

mysql> insert into MapKeys(Name,isActive) values('Sam',false);
Query OK, 1 row affected (0.15 sec)

mysql> insert into MapKeys(Name,isActive) values('Bob',true);
Query OK, 1 row affected (0.19 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:

mysql> select *from MapKeys;

निम्न आउटपुट है -

+----+-------+----------+
| Id | Name  | isActive |
+----+-------+----------+
|  1 | Larry |        1 |
|  2 | David |        0 |
|  3 | Mike  |        1 |
|  4 | Carol |        0 |
|  5 | Sam   |        0 |
|  6 | Bob   |        1 |
+----+-------+----------+
6 rows in set (0.00 sec)

आइए अब केस स्टेटमेंट का उपयोग करके कुंजी को मैप करें। क्वेरी इस प्रकार है -

mysql> select Id,Name,
   -> (
   -> CASE WHEN isActive = 1 THEN 'ENABLED'
   -> ELSE 'DISABLED'
   -> END
   -> ) AS Status
   -> from MapKeys;

निम्न आउटपुट है -

+----+-------+----------+
| Id | Name  | Status   |
+----+-------+----------+
|  1 | Larry | ENABLED  |
|  2 | David | DISABLED |
|  3 | Mike  | ENABLED  |
|  4 | Carol | DISABLED |
| 5  | Sam   | DISABLED |
| 6  | Bob   | ENABLED  |
+----+-------+----------+
6 rows in set (0.00 sec)

आप इसे IF() फ़ंक्शन की सहायता से प्राप्त कर सकते हैं -

mysql> select Id,Name,if(isActive,'ENABLED','DISABLED') as Status from MapKeys;

निम्न आउटपुट है -

+----+-------+----------+
| Id | Name  | Status   |
+----+-------+----------+
|  1 | Larry | ENABLED  |
|  2 | David | DISABLED |
|  3 | Mike  | ENABLED  |
|  4 | Carol | DISABLED |
| 5  | Sam   | DISABLED |
| 6  | Bob   | ENABLED  |
+----+-------+----------+
6 rows in set (0.00 sec)

  1. जावा में MySQL के साथ चुनिंदा क्वेरी के लिए तैयार कथन का उपयोग कैसे करें?

    इसके लिए आपको executeQuery() का उपयोग करना होगा। वाक्य रचना इस प्रकार है - yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName);yourresultSetObject=yourPreparedStatement.executeQuery(); डेटाबेस नमूना में एक तालिका बनाएँ। तालिका बनाने की क्वेरी इस प्रकार है - );Query OK,

  1. MySQL का उपयोग करके किसी चयनित दिन (2010-11-04) से वर्तमान तिथि के लिए एक क्वेरी का चयन कैसे करें?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं डेमोटेबल (जॉइनिंग डेट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (2016-04-05); क्वेरी ठीक है, 1 पंक्ति प्रभावित हुई (0.11 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्

  1. उन मानों के लिए डेटाबेस को क्वेरी करें जो MySQL तालिका में नहीं हैं?

    इसके लिए, आप UNION ALL के साथ WHERE NOT EXISTS का उपयोग कर सकते हैं और तालिका में पहले से मौजूद मानों को अनदेखा करने के लिए NOT IN लागू कर सकते हैं। तालिका में पहले से मौजूद मानों को जोड़ने के लिए UNION ALL के साथ SELECT का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1918 (वैल्यू int