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

MySQL में डायनामिक रूप से कॉलम चुनना

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     |
+--------------+

चरणों की व्याख्या

  1. SET @dynamicQuery - डायनामिक क्वेरी स्ट्रिंग बनाएं
  2. PREPARE - स्टेटमेंट को कंपाइल करें
  3. EXECUTE - प्रिपेयर्ड स्टेटमेंट चलाएं
  4. DEALLOCATE PREPARE - उपयोग के बाद स्टेटमेंट को मुक्त करें (वैकल्पिक लेकिन अनुशंसित)

उपयोग के मामले: यह तकनीक तब उपयोगी होती है जब कॉलम नाम एप्लिकेशन लॉजिक या उपयोगकर्ता इनपुट के आधार पर तय होता है।

  1. - MySQL में कॉलम नाम कैसे बदलें (Rename)

    MySQL में कॉलम नाम बदलने के लिए ALTER और CHANGE कमांड का उपयोग करना होता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100), StudentAge int ); Query OK, 0 rows affected (0.56 sec) टेबल का विवरण जांचें: mysql

  1. - MySQL में LPAD() का उपयोग करके कॉलम में अग्रणी शून्य जोड़ना

    MySQL में LPAD() फ़ंक्शन के साथ स्ट्रिंग में अग्रणी शून्य जोड़ना LPAD() फ़ंक्शन स्ट्रिंग के बाईं ओर निर्दिष्ट वर्ण जोड़कर इसे निर्दिष्ट लंबाई तक पैड करता है। यह कोड, आईडी आदि को निश्चित लंबाई बनाने के लिए उपयोगी है। सिंटैक्स LPAD(string, length, pad_string) व्यावहारिक उदाहरण तालिका बनाना CREATE

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH