हम SELECT और SET कमांड की मदद से MySQL में वेरिएबल घोषित कर सकते हैं। वेरिएबल घोषित करने से पहले हमें '@' चिह्न को उपसर्ग करना होगा।
सिंटैक्स निम्नानुसार है:
SELECT @yourVariableName;
चिह्न '@' बताता है कि यह उपयोगकर्ता-परिभाषित वेरिएबल है या नहीं। यदि कोई चिह्न नहीं है, तो इसका मतलब होगा कि यह एक स्थानीय वेरिएबल है। दो '@@' उपसर्ग सर्वर सिस्टम वेरिएबल के बारे में बताता है।
यहां, हम उपयोगकर्ता-परिभाषित वेरिएबल के बारे में सीखेंगे। हम SET कमांड की मदद से वेरिएबल को कुछ मान सेट कर सकते हैं।
सिंटैक्स निम्नानुसार है:
SET @yourVariableName = value;
नोट - SELECT स्टेटमेंट में, "yourVariableName" में प्रारंभ में NULL मान होता है और SET कमांड उपयोग करने के बाद इसमें हमारे द्वारा दिया गया मान होता है।
अब, हम उपरोक्त क्वेरी लागू करके जांचेंगे। पहले, आइए एक वेरिएबल घोषित करें।
mysql> SELECT @engine;
उपरोक्त क्वेरी निष्पादित करने के बाद, वेरिएबल को प्रारंभ में NULL मान मिलता है। निम्नलिखित आउटपुट है:
+---------+
| @engine |
+---------+
| NULL |
+---------+
1 row in set (0.00 sec)
SET कमांड की मदद से वेरिएबल को कुछ मान सेट करें:
mysql> SET @engine = 'start';
Query OK, 0 rows affected (0.00 sec)
उसके बाद, हम ऊपर दिए गए मान की जांच कर सकते हैं। इसके लिए, SELECT स्टेटमेंट का उपयोग करें। निम्नलिखित क्वेरी है:
mysql> SELECT @engine;
उपरोक्त क्वेरी निष्पादित करने के बाद, हमें अद्यतन मान मिलेगा।
निम्नलिखित आउटपुट है:
+---------+
| @engine |
+---------+
| start |
+---------+
1 row in set (0.00 sec)
अब, हम वेरिएबल मान को इस तरह अपडेट कर सकते हैं:
mysql> SET @engine = 'close';
Query OK, 0 rows affected (0.00 sec)
SELECT कमांड की मदद से जांचें कि परिणाम अद्यतन हुआ है या नहीं:
mysql> SELECT @engine;
उपरोक्त क्वेरी निष्पादित करने के बाद, हमें नीचे दिखाए अनुसार आउटपुट मिलेगा:
+---------+
| @engine |
+---------+
| close |
+---------+
1 row in set (0.00 sec)
उपरोक्त आउटपुट से स्पष्ट है कि @engine वेरिएबल 'close' मान के साथ अद्यतन हो गया है।
स्कोप: उपयोगकर्ता-परिभाषित वेरिएबल (@var) सत्र-विशिष्ट हैं। सिस्टम वेरिएबल (@@var) ग्लोबल/सत्र हो सकते हैं। स्टोर्ड प्रोसीजर में DECLARE के साथ स्थानीय वेरिएबल उपयोग करें।