MySQL-এ SELECT এবং SET কমান্ড ব্যবহার করে একটি ভেরিয়েবল ঘোষণা করা যায়। ভেরিয়েবল ঘোষণা করার আগে '@' চিহ্নটি প্রিফিক্স হিসেবে ব্যবহার করতে হবে।
সিনট্যাক্স নিম্নরূপ:
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' মান দিয়ে আপডেট হয়েছে।