MySQL में मुख्य रूप से तीन प्रकार के वेरिएबल होते हैं:
-
उपयोगकर्ता-निर्धारित चर (
@
. के साथ उपसर्ग ):आप किसी भी उपयोगकर्ता-परिभाषित चर को घोषित किए बिना या इसे आरंभ किए बिना एक्सेस कर सकते हैं। यदि आप किसी ऐसे चर का उल्लेख करते हैं जिसे प्रारंभ नहीं किया गया है, तो इसका मान
NULL
है और एक प्रकार की स्ट्रिंग।SELECT @var_any_var_name
आप
SET
. का उपयोग करके एक वैरिएबल को इनिशियलाइज़ कर सकते हैं याSELECT
कथन:SET @start = 1, @finish = 10;
या
SELECT @start := 1, @finish := 10; SELECT * FROM places WHERE place BETWEEN @start AND @finish;
उपयोगकर्ता चर को डेटाटाइप के सीमित सेट से एक मान असाइन किया जा सकता है:पूर्णांक, दशमलव, फ़्लोटिंग-पॉइंट, बाइनरी या नॉनबाइनरी स्ट्रिंग, या NULL मान।
उपयोगकर्ता-परिभाषित चर सत्र-विशिष्ट हैं। अर्थात्, एक क्लाइंट द्वारा परिभाषित उपयोगकर्ता चर को अन्य क्लाइंट द्वारा देखा या उपयोग नहीं किया जा सकता है।
उनका उपयोग
SELECT
. में किया जा सकता है उन्नत MySQL उपयोगकर्ता चर तकनीकों का उपयोग करके क्वेरीज़ए> । -
स्थानीय चर (कोई उपसर्ग नहीं) :
स्थानीय चरों को
DECLARE
. का उपयोग करके घोषित करने की आवश्यकता है इसे एक्सेस करने से पहले।उनका उपयोग स्थानीय चर और एक संग्रहीत प्रक्रिया के अंदर इनपुट पैरामीटर के रूप में किया जा सकता है:
DELIMITER // CREATE PROCEDURE sp_test(var1 INT) BEGIN DECLARE start INT unsigned DEFAULT 1; DECLARE finish INT unsigned DEFAULT 10; SELECT var1, start, finish; SELECT * FROM places WHERE place BETWEEN start AND finish; END; // DELIMITER ; CALL sp_test(5);
अगर
DEFAULT
क्लॉज गायब है, प्रारंभिक मानNULL
है .स्थानीय चर का दायरा
BEGIN ... END
. है ब्लॉक जिसके भीतर इसे घोषित किया गया है। -
सर्वर सिस्टम वैरिएबल (
@@
. के साथ उपसर्ग ):MySQL सर्वर कई सिस्टम वैरिएबल को मेंटेन करता है डिफ़ॉल्ट मान के लिए कॉन्फ़िगर किया गया है। वे
GLOBAL
. प्रकार के हो सकते हैं ,SESSION
याBOTH
।वैश्विक चर सर्वर के समग्र संचालन को प्रभावित करते हैं जबकि सत्र चर व्यक्तिगत क्लाइंट कनेक्शन के लिए इसके संचालन को प्रभावित करते हैं।
चल रहे सर्वर द्वारा उपयोग किए जाने वाले वर्तमान मानों को देखने के लिए,
SHOW VARIABLES
का उपयोग करें स्टेटमेंट याSELECT @@var_name
.SHOW VARIABLES LIKE '%wait_timeout%'; SELECT @@sort_buffer_size;
उन्हें कमांड लाइन पर या एक विकल्प फ़ाइल में विकल्पों का उपयोग करके सर्वर स्टार्टअप पर सेट किया जा सकता है। उनमें से अधिकांश को गतिशील रूप से बदला जा सकता है, जबकि सर्वर
SET GLOBAL
का उपयोग कर रहा है। याSET SESSION
:-- Syntax to Set value to a Global variable: SET GLOBAL sort_buffer_size=1000000; SET @@global.sort_buffer_size=1000000; -- Syntax to Set value to a Session variable: SET sort_buffer_size=1000000; SET SESSION sort_buffer_size=1000000; SET @@sort_buffer_size=1000000; SET @@local.sort_buffer_size=10000;