SQL Temporary টেবিল
স্বল্প সময়ের জন্য ডেটাবেজে কোনো তথ্য জমা রাখতে SQL অস্থায়ী(Temporary) টেবিল ব্যবহার করা হয়।
SQL Temporary টেবিলের ব্যবহার
- অস্থায়ী টেবিলের অনেক ধরণের সুবিধা রয়েছে। RDBMS ডেটাবেজ সিস্টেমে অস্থায়ী টেবিল সাপোর্ট করে।
- অস্থায়ী টেবিল ব্যবহার করে আপনি ডেটাবেজ টেবিলে তথ্য জমা রাখার পাশাপাশি অন্যান্য টেবিলের মত
SELECT
,UPDATE
,JOIN
ইত্যাদি SQL কমান্ড সম্পাদন করতে পারবেন। - অস্থায়ী তথ্য সংরক্ষনের জন্য কিছু কিছু ক্ষেত্রে অস্থায়ী টেবিল অতীব প্রয়োজন হয়ে পড়ে। যেমন- বর্তমান ইউজারের শেষন(session) সমাপ্ত হবে এমন সময় তার সকল তথ্য মুছে ফেলার জন্য অস্থায়ী টেবিল ব্যবহৃত হয়। MySql ভার্সন ৩.২৩ এবং পরবর্তী ভার্সন-সমূহে অস্থায়ী টেবিল যুক্ত হয়েছে।
বিঃদ্রঃ যতক্ষন পর্যন্ত শেষন(session) সক্রিয় থাকে কেবল ততক্ষন পর্যন্তই অস্থায়ী টেবিলে তথ্য সংরক্ষিত থাকে।
আপনি যদি পিএইচপি স্ক্রিপ্ট এর মাধ্যমে SQL কোড রান করান তাহলে পিএইচপি কোড সম্পাদন শেষে অস্থায়ী(Temporary) টেবিলে সংরক্ষিত তথ্য স্বয়ংক্রিয়ভাবে মুছে যাবে।
আপনি যদি MySQL ডেটাবেজকে এক্সেস(Access) করার জন্য MySql Client Program ব্যবহার করে থাকেন তাহলে প্রোগ্রামটি বন্ধ হওয়ার পরে অস্থায়ী টেবিলটি মুছে যাবে। অথবা আপনি নিজ থেকে ম্যানুয়ালিও টেবিলটি মুছে ফেলতে পারেন।
SQL Temporary টেবিলের সিনটেক্স
CREATE TEMPORARY TABLE name_of_table (
name_of_column,
name_of_column,
...
);
নিম্নের উদাহরনে আমরা অস্থায়ী টেবিলের ব্যবহার দেখবোঃ
CREATE TEMPORARY TABLE Student_works (
Student_name VARCHAR(50) NOT NULL,
Total_submited_work VARCHAR(50) NOT NULL
);
অস্থায়ী টেবিল গুলো আমরা স্বল্প প্রয়োজনে ব্যবহার করবো। এতে ডেটাবেজে জায়গাও সাশ্রয় হয়।
আপনি ডেটাবেজে কখনই অস্থায়ী টেবিলের তথ্য দেখতে পারবেন না। আপনি যদি SHOW TABLES
কমান্ড ব্যবহার করে আপনার টেবিল লিষ্ট বের করেন সেখানেও অস্থায়ী টেবিলটি খুঁজে পাবেন না। এখন আপনি যদি লগ-আউট করেন অর্থাৎ আপনার বর্তমান MySql সেশনটি শেষ হওয়ার পর আপনি আর এই টেবিলের তথ্য গুলো অ্যাক্সেস(Access) করতে পাবেন না। এমন কি আপনার অস্থায়ী টেবিলটিও আর থাকবে না।
অস্থায়ী(temporary) টেবিল ডিলিট
MySql ডেটাবেজের ক্ষেত্রে ডেটাবেজ কানেকশনের সমাপ্তি ঘটলেই অস্থায়ী টেবিল মুছে যায়। কিন্তু আপনি যাদি ডেটাবেজের কাজ সম্পন্ন হওয়ার পূর্বেই অস্থায়ী টেবিল মুছে ফেলতে চান তাহলে DROP TABLE
কমান্ড ব্যবহার করতে পারেন।
DROP TABLE name_of_table;