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

एक क्वेरी में उपयोग किए जाने वाले कॉलम नाम बनाने के लिए MySQL concat ()?

<घंटा/>

किसी क्वेरी में उपयोग किए जाने वाले स्तंभ नाम बनाने के लिए, आपको सेट कमांड के साथ उपयोगकर्ता-परिभाषित चर का उपयोग करने की आवश्यकता है। वाक्य रचना इस प्रकार है -

SET @anyVariableName :=
(
   SELECT CONCAT
   (
      "SELECT",
   GROUP_CONCAT(CONCAT("\n 1 as ", COLUMN_NAME) SEPARATOR ','), "\n FROM DUAL")
   FROM INFORMATION_SCHEMA_COLUMNS
   WHERE TABLE_NAME= ‘yourTableName’
);

अब PREPARE कमांड का उपयोग करके स्टेटमेंट तैयार करें। वाक्य रचना इस प्रकार है -

PREPARE anyVariableName from @anyVariableName;

EXECUTE कमांड का उपयोग करके स्टेटमेंट निष्पादित करें। वाक्य रचना इस प्रकार है -

EXECUTE anyVariableName;

DEALLOCATE कमांड का उपयोग करके तैयार स्टेटमेंट को डीलोकेट करें। वाक्य रचना इस प्रकार है -

DEALLOCATE PREPARE anyVariableName;

अब हम दो कॉलम के साथ एक टेबल बनाएंगे और कॉनकैट क्वेरी में कॉलम का उपयोग किया जाएगा। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> create table ConcatenationWithUserDefinedVariable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> User_Id int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.14 sec)

क्वेरी में उपयोग किए जाने वाले कॉलम नामों के लिए उपरोक्त सिंटैक्स का उपयोग करें। क्वेरी इस प्रकार है -

mysql> set @q := (
   -> select concat(
   -> "select",
   -> group_concat(concat("\n 1 as ", column_name) separator ','),
   -> "\nfrom dual")
   -> from information_schema.columns
   -> where table_name = 'ConcatenationWithUserDefinedVariable');
Query OK, 0 rows affected (0.01 sec)

उपरोक्त उपयोगकर्ता-परिभाषित चर तैयार करने की क्वेरी इस प्रकार है -

mysql> prepare stmt from @q;
Query OK, 0 rows affected (0.00 sec)
Statement prepared

अब ऊपर-तैयार स्टेटमेंट को निष्पादित करें। क्वेरी इस प्रकार है -

mysql> execute stmt;

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

+----+---------+
| Id | User_Id |
+----+---------+
|  1 |       1 |
+----+---------+
1 row in set (0.00 sec)

अंत में, आपको तैयार कथन को हटाना होगा। क्वेरी इस प्रकार है -

mysql> deallocate prepare stmt;
Query OK, 0 rows affected (0.00 sec)

  1. नामों के आधार पर समूहबद्ध करने के लिए MySQL क्वेरी और एक नए कॉलम में गिनती प्रदर्शित करें

    COUNT () विधि के साथ GROUP BY का उपयोग करें। GROUP BY के साथ नामों को समूहित करें और COUNT () विधि का उपयोग करके गिनें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(30));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.63 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल वै

  1. एकल MySQL क्वेरी में सभी कॉलम नामों के लिए 'उपनाम' सेट करें

    कॉलम नामों के लिए उपनाम सेट करने के लिए, सिंटैक्स इस प्रकार है - अपना कॉलमनाम1 किसी भी उपनामनाम1 का चयन करें, अपने कॉलमनाम2 को अपने टेबलनाम से किसी भी उपनाम का चयन करें; ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.70 सेकंड) इंसर्ट कमांड का उपयोग

  1. कैसे एक MySQL अनुक्रम बनाने के लिए?

    MySQL में सीक्वेंस क्या है? MySQL में, अनुक्रम पूर्णांकों की एक सूची को संदर्भित करता है जो निर्दिष्ट होने पर 1 या 0 से शुरू होने वाले आरोही क्रम में उत्पन्न होता है। कई अनुप्रयोगों को अनुक्रमों की आवश्यकता होती है जिनका उपयोग विशेष रूप से पहचान के लिए अद्वितीय संख्याएं उत्पन्न करने के लिए किया जाए