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

MySQL प्रिपेयर्ड स्टेटमेंट में टेबल नाम के लिए उपयोगकर्ता-परिभाषित वेरिएबल सेट करें

उपयोगकर्ता-परिभाषित वेरिएबल (@var) और PREPARE/EXECUTE का उपयोग करके डायनामिक SQL बनाएं जहां टेबल नाम एक वेरिएबल है।

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(20)
);
Query OK, 0 rows affected (0.71 sec)
mysql> INSERT INTO DemoTable(StudentName) VALUES('Chris'),('David'),('Sam'),('Mike');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Chris       |
| 2         | David       |
| 3         | Sam         |
| 4         | Mike        |
+-----------+-------------+

डायनामिक टेबल नाम के साथ प्रिपेयर्ड स्टेटमेंट

mysql> SET @tableName = 'DemoTable';
Query OK, 0 rows affected (0.04 sec)

mysql> SET @queryToSelectStudentName := CONCAT('SELECT StudentName FROM ', @tableName);
Query OK, 0 rows affected (0.28 sec)

mysql> PREPARE executeQuery FROM @queryToSelectStudentName;
Query OK, 0 rows affected (0.04 sec)
Statement prepared

mysql> EXECUTE executeQuery;

परिणाम:

+-------------+
| StudentName |
+-------------+
| Chris       |
| David       |
| Sam         |
| Mike        |
+-------------+
4 rows in set (0.00 sec)

नोट: PREPARE एक स्टेटमेंट हैंडल बनाता है। DEALLOCATE PREPARE executeQuery; के साथ साफ करें। टेबल/कॉलम नाम प्लेसहोल्डर (?) नहीं हो सकते; स्ट्रिंग संयोजन का उपयोग करें। सत्र समाप्त होने पर वेरिएबल गायब हो जाते हैं।

  1. - MySQL में IF स्टेटमेंट का उपयोग करके UPDATE स्टेटमेंट में शर्तें सेट करके रिकॉर्ड प्रदर्शित करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentMarks int, -> Status varchar(20) -> ); Query OK, 0 rows affected (0.97 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्

  1. - MySQL में न्यूमेरिक यूज़र-डिफ़ाइंड वेरिएबल के साथ ORDER BY कैसे करें?

    MySQL में डायनामिक कॉलम नाम के साथ ORDER BY करने के लिए, यूज़र-डिफ़ाइंड वेरिएबल और PREPARED STATEMENT का उपयोग करें। यह तब उपयोगी होता है जब कॉलम का नाम रनटाइम पर तय होता है। उदाहरण: वेरिएबल के साथ डायनामिक ORDER BY डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1898 (Number INT); डेटा इन्सर्ट

  1. - MySQL में IF स्टेटमेंट और यूजर-डिफाइंड वेरिएबल से कस्टम संदेश सेट करें

    SELECT INTO वेरिएबल और IF() से शर्ती संदेश उत्पन्न करें कुल योग की गणना करके उसे वेरिएबल में स्टोर करें, फिर IF() से कस्टम संदेश दिखाएं। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2008 ( Value int ); Query OK, 0 rows affected (10.59 sec) mysql> insert into DemoTable2008 values(10);