ইউজার ভেরিয়েবল কী এবং MySQL-এ কীভাবে ব্যবহার করা যায়, সেই সাথে নিয়মগুলো নিচে দেওয়া হলো:
- ইউজার ভেরিয়েবল লেখা হয়
@var_nameহিসেবে। এখানেvar_nameহলো ভেরিয়েবল নাম, যাতে আলফানিউমেরিক ক্যাটেক্টার,.,_, এবং$থাকতে পারে। - ইউজার ভেরিয়েবল নামে অন্যান্য ক্যাটেক্টার থাকতে পারে যদি সেগুলো স্ট্রিং বা আইডেন্টিফায়ার হিসেবে কোট করা হয়।
- ইউজার-ডিফাইনড ভেরিয়েবল সেশন-স্পেসিফিক।
- এক ক্লায়েন্ট দ্বারা ডিফাইন করা ইউজার ভেরিয়েবল অন্য ক্লায়েন্ট দেখতে বা ব্যবহার করতে পারে না।
- অপবাদ: যদি ইউজারের
Performance Schema user_variables_by_threadটেবিলে অ্যাক্সেস থাকে, তবে সে সব সেশনের সব ইউজার ভেরিয়েবল দেখতে পারবে। - এক ক্লায়েন্ট সেশনের সব ভেরিয়েবল অটোমেটিক্যালি ফ্রি হয়ে যায় যখন ক্লায়েন্ট এক্সিট করে।
- ইউজার ভেরিয়েবল নাম কেস-ইনসেনসিটিভ। সর্বোচ্চ লেংথ ৬৪ ক্যাটেক্টার।
সিনট্যাক্স
ইউজার-ডিফাইনড ভেরিয়েবল সেট করার একটি পদ্ধতি SET স্টেটমেন্ট ইস্যু করা:
SET @var_name = expr [, @var_name = expr] ...
SET ব্যবহার করার সময় অ্যাসাইনমেন্ট অপারেটর হিসেবে = বা := যেকোনোটি ব্যবহার করুন।
ভ্যালু অ্যাসাইনমেন্ট
ইউজার ভেরিয়েবলে সীমিত ডেটা টাইপের ভ্যালু অ্যাসাইন করা যায়: ইন্টিজার, ডেসিমেল, ফ্লোটিং-পয়েন্ট, বাইনারি বা নন-বাইনারি স্ট্রিং, বা NULL ভ্যালু।
- ডেসিমেল এবং রিয়েল ভ্যালু অ্যাসাইন করলে প্রিসিশন বা স্কেল সংরক্ষিত থাকে না।
- অনুমোদিত টাইপের বাইরের টাইপের ভ্যালু অনুমোদিত টাইপে কনভার্ট হয়।
- এটি টেবিল কলাম ভ্যালুর জন্য ব্যবহৃত কোэрসিবিলিটির মতো।
- MySQL ইউজার ভেরিয়েবল ব্যবহার করে রেজাল্ট মনে রাখা যায় টেম্পোরারি ভেরিয়েবল ক্লায়েন্টে স্টোর না করেই।
- এগুলো ডেটা স্টোর করতে ব্যবহৃত হয় এক্সপ্লিসিটলি মেমরি লোকেশন অ্যাসাইন না করেই।