DELIMITER के साथ मल्टीपल SELECT स्टेटमेंट्स एक्जीक्यूट करना
MySQL में मल्टीपल SELECT क्वेरीज़ एक साथ चलाने के लिए DELIMITER कॉन्सेप्ट का उपयोग करें।
पहली टेबल बनाएं:
mysql> CREATE TABLE DemoTable1 (
Title TEXT
) ENGINE=MyISAM;
रिकॉर्ड्स इन्सर्ट करें:
mysql> INSERT INTO DemoTable1 VALUES ('The database MySQL is less popular than MongoDB');
mysql> INSERT INTO DemoTable1 VALUES ('Java language uses MySQL database');
mysql> INSERT INTO DemoTable1 VALUES ('Node.js uses the MongoDB');
पहली टेबल के रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable1;
आउटपुट:
+-------------------------------------------------+ | Title | +-------------------------------------------------+ | The database MySQL is less popular than MongoDB | | Java language uses MySQL database | | Node.js uses the MongoDB | +-------------------------------------------------+
दूसरी टेबल बनाएं:
mysql> CREATE TABLE DemoTable2 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
रिकॉर्ड्स इन्सर्ट करें:
mysql> INSERT INTO DemoTable2 VALUES (),(),(),(),(),(),(),(),();
दूसरी टेबल के रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable2;
आउटपुट:
+----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | +----+
मल्टीपल SELECT क्वेरीज़ एक्जीक्यूट करने के लिए:
mysql> DELIMITER // mysql> SELECT * FROM DemoTable1; SELECT * FROM DemoTable2; //
आउटपुट: दोनों SELECT स्टेटमेंट्स के परिणाम क्रमिक रूप से प्रदर्शित होते हैं:
+-------------------------------------------------+ | Title | +-------------------------------------------------+ | The database MySQL is less popular than MongoDB | | Java language uses MySQL database | | Node.js uses the MongoDB | +-------------------------------------------------+ 3 rows in set (0.00 sec) +----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | +----+ 9 rows in set (0.03 sec)
व्याख्या:
- DELIMITER //: डिफॉल्ट डिलीमीटर (;) को // में बदलता है
- इससे आप एक ही कमांड ब्लॉक में कई स्टेटमेंट्स लिख सकते हैं जो ; से समाप्त होते हैं
//ब्लॉक के अंत को चिह्नित करता है- यह मुख्य रूप से स्टोर्ड प्रोसीजर्स, ट्रिगर्स, और स्क्रिप्ट्स में उपयोगी है
नोट: इंटरएक्टिव MySQL क्लाइंट में, आप केवल सेमिकोलन (;) से अलग करके भी कई क्वेरीज़ चला सकते हैं। DELIMITER की आवश्यकता तब होती है जब स्टेटमेंट्स के अंदर सेमिकोलन हों (जैसे स्टोर्ड प्रोसीजर में)।