MySQL में प्रिपेयर्ड स्टेटमेंट का उपयोग करके डायनामिक कॉलम चयन
MySQL में रनटाइम पर कॉलम नाम तय करने के लिए प्रिपेयर्ड स्टेटमेंट्स (Prepared Statements) का उपयोग किया जाता है। यह डायनामिक SQL निर्माण की अनुमति देता है।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
EmployeeName VARCHAR(100)
);
रिकॉर्ड डालना
mysql> INSERT INTO DemoTable VALUES('John Doe');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+--------------+ | EmployeeName | +--------------+ | John Doe | +--------------+
डायनामिक कॉलम चयन के लिए चरण
mysql> SET @dynamicQuery = CONCAT("SELECT ",
(SELECT "EmployeeName FROM DemoTable"));
Query OK, 0 rows affected
mysql> SELECT @dynamicQuery;
+---------------------------------------+
| @dynamicQuery |
+---------------------------------------+
| SELECT EmployeeName FROM DemoTable |
+---------------------------------------+
mysql> PREPARE myStatement FROM @dynamicQuery;
Query OK, 0 rows affected
Statement prepared
mysql> EXECUTE myStatement;
आउटपुट:
+--------------+ | EmployeeName | +--------------+ | John Doe | +--------------+
चरणों की व्याख्या
SET @dynamicQuery- डायनामिक क्वेरी स्ट्रिंग बनाएंPREPARE- स्टेटमेंट को कंपाइल करेंEXECUTE- प्रिपेयर्ड स्टेटमेंट चलाएंDEALLOCATE PREPARE- उपयोग के बाद स्टेटमेंट को मुक्त करें (वैकल्पिक लेकिन अनुशंसित)
उपयोग के मामले: यह तकनीक तब उपयोगी होती है जब कॉलम नाम एप्लिकेशन लॉजिक या उपयोगकर्ता इनपुट के आधार पर तय होता है।