আসুন আমরা বুঝতে পারি যে ব্যবহারকারীর ভেরিয়েবলগুলি কী এবং কীভাবে সেগুলি MySQL-এ ব্যবহার করা যেতে পারে৷ আমরা নিয়মগুলিও দেখব -
-
ব্যবহারকারীর ভেরিয়েবলগুলি @var_name হিসাবে লেখা হয়। এখানে, 'var_name' বলতে পরিবর্তনশীল নাম বোঝায়, যেটিতে বর্ণসংখ্যার অক্ষর রয়েছে, ., _, এবং $।
-
একটি ব্যবহারকারী পরিবর্তনশীল নামের অন্য অক্ষর থাকতে পারে যদি সেগুলিকে একটি স্ট্রিং বা শনাক্তকারী হিসাবে উদ্ধৃত করা হয়৷
-
ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবলগুলি সেশন নির্দিষ্ট।
-
একটি ব্যবহারকারী ভেরিয়েবল যা একটি ক্লায়েন্ট দ্বারা সংজ্ঞায়িত করা হয় অন্য ক্লায়েন্টদের দ্বারা দেখা বা ব্যবহার করা যায় না৷
-
কিন্তু একমাত্র ব্যতিক্রম হল যে যদি একজন ব্যবহারকারীর পারফরমেন্স স্কিমাউসার_ভেরিয়েবলস_বাই_থ্রেড টেবিলে অ্যাক্সেস থাকে, তাহলে সেই ব্যবহারকারী সমস্ত সেশনের জন্য সমস্ত ব্যবহারকারীর ভেরিয়েবল দেখতে পাবে।
একটি প্রদত্ত ক্লায়েন্ট সেশনের জন্য সমস্ত ভেরিয়েবল স্বয়ংক্রিয়ভাবে বিনামূল্যে হয়ে যায় যখন সেই ক্লায়েন্ট প্রস্থান করে।
ব্যবহারকারীর পরিবর্তনশীল নামগুলি কেস-সংবেদনশীল নয়৷ নামের সর্বোচ্চ দৈর্ঘ্য 64টি অক্ষর।
সিনট্যাক্স
একটি ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল সেট করার একটি উপায় হল একটি SET বিবৃতি জারি করা। আসুন দেখি কিভাবে নিচের কমান্ডটি ব্যবহার করে −
এটি করা যায়SET @var_name = expr [, @var_name = expr] ...
SET ব্যবহার করার সময়, অ্যাসাইনমেন্ট অপারেটর হিসাবে হয় =বা :=ব্যবহার করুন।
মান বরাদ্দ করা
ব্যবহারকারীর ভেরিয়েবলগুলিকে ডেটা প্রকারের সীমিত সেট থেকে একটি মান নির্ধারণ করা যেতে পারে। এর মধ্যে রয়েছে পূর্ণসংখ্যা, দশমিক, ফ্লোটিং-পয়েন্ট, বাইনারি বা ননবাইনারী স্ট্রিং, বা NULL মান।
-
দশমিক এবং বাস্তব মানের অ্যাসাইনমেন্ট মানের নির্ভুলতা বা স্কেল সংরক্ষণ করবে না।
-
অনুমোদনযোগ্য ব্যতীত অন্য ধরণের একটি মান অনুমোদিত প্রকারে রূপান্তরিত হয়৷
-
এটি একই জবরদস্তি যা টেবিল কলামের মানগুলির জন্য ব্যবহৃত হয়।
-
MySQL ব্যবহারকারী ভেরিয়েবলগুলিকে ক্লায়েন্টের অস্থায়ী ভেরিয়েবলগুলিতে সংরক্ষণ না করে ফলাফলগুলি মনে রাখতে ব্যবহার করা যেতে পারে৷
-
তারা স্পষ্টভাবে তাদের একটি মেমরি অবস্থান বরাদ্দ না করে ডেটা সংরক্ষণ করতে ব্যবহার করা হয়৷