MySQL सर्वर तैयार किए गए कथनों का समर्थन करता है, जो तब उपयोगी होते हैं जब हम बहुत से प्रश्नों को चलाना चाहते हैं जो केवल बहुत छोटे विवरण में भिन्न होते हैं। हम एक स्टेटमेंट तैयार कर सकते हैं और फिर इसे कई बार और हर बार अलग-अलग डेटा वैल्यू के साथ निष्पादित कर सकते हैं। मूल रूप से, MySQL में तैयार किए गए कथन क्लाइंट/सर्वर बाइनरी प्रोटोकॉल का लाभ उठाते हैं। तैयार विवरण बेहतर प्रदर्शन प्रदान करते हैं क्योंकि पूरा विवरण सर्वर द्वारा केवल एक को पार्स किया जाता है।
MySQL में तैयार स्टेटमेंट का उपयोग करने के लिए निम्नलिखित चरण हैं -
कथन तैयार करें
यह पहला चरण है जिसमें हम PREPARE स्टेटमेंट का उपयोग करके एक स्टेटमेंट तैयार करेंगे। उदाहरण के लिए, निम्नलिखित 'निविदा' तालिका के डेटा का उपयोग करके तैयार किया गया एक विवरण है -
उदाहरण
PREPARE stmt FROM ‘Select tender_value from Tender Where Companyname = ?;’
तैयार कथन निष्पादित करें
यह दूसरा चरण है जिसमें हम 'PREPARE' स्टेटमेंट का उपयोग करके तैयार किए गए स्टेटमेंट को निष्पादित करेंगे। उदाहरण के लिए, हम तैयार स्टेटमेंट stmt को निम्नलिखित सिंटैक्स के साथ निष्पादित करेंगे -
उदाहरण
EXECUTE stmt USING @variable_name;
यहाँ @variable_name का वह मान होगा जिसके स्थान पर हम tp पास चाहते हैं? PREPARE स्टेटमेंट में। हमें तैयार स्टेटमेंट को निष्पादित करने से पहले SET स्टेटमेंट का उपयोग करके @variable_name का मान सेट करना होगा।
तैयार किए गए कथन को आवंटित करें
यह अंतिम चरण है जिसमें हम तैयार कथन को DEALLOCATE कथन की सहायता से जारी करेंगे। उदाहरण के लिए, हम निम्नलिखित सिंटैक्स की मदद से तैयार किए गए स्टेटमेंट stmt को हटा देंगे -
उदाहरण
DEALLOCATE PREPARE stmt;
निम्नलिखित वे प्रश्न हैं जिनकी सहायता से हम तैयार कथन को चलाते हैं -
mysql> PREPARE stmt FROM 'SELECT tender_value from Tender WHERE Companyname = ?'; Query OK, 0 rows affected (0.09 sec) Statement prepared mysql> SET @A = 'Singla Group.'; Query OK, 0 rows affected (0.00 sec) mysql> EXECUTE stmt using @A; +--------------+ | tender_value | +--------------+ | 220.255997 | +--------------+ 1 row in set (0.07 sec) mysql> DEALLOCATE PREPARE stmt; Query OK, 0 rows affected (0.00 sec)