TRUNCATE হলো একটি Data Definition Language (DDL) কমান্ড, যা ডাটাবেসের কোনো টেবিলের সমস্ত রেকর্ড একসাথে মুছে ফেলে, তবে টেবিলের কাঠামো (structure) অপরিবর্তিত রাখে। এটি সাধারণত দ্রুত ও কার্যকরভাবে টেবিল খালি করার জন্য ব্যবহৃত হয়।
মূল তথ্যসমূহ:
-
কার্যপ্রণালি: TRUNCATE কমান্ড সমস্ত সারি (rows) একবারেই মুছে দেয়, কিন্তু টেবিলের কলাম ও সংজ্ঞা (schema) অপরিবর্তিত থাকে।
-
পারফরম্যান্স: এটি DELETE-এর তুলনায় অনেক দ্রুত, কারণ TRUNCATE প্রতিটি সারির ডিলিট লগ করে না—বরং পুরো ডেটা ব্লক পুনরায় ব্যবহারযোগ্য করে তোলে।
-
টেবিল পুনর্ব্যবহার: TRUNCATE করার পর টেবিলের কাঠামো রেখে দেওয়া হয়, যাতে পরে নতুন ডেটা সহজেই ইনসার্ট করা যায়।
অন্যান্য কমান্ড:
-
DELETE: নির্দিষ্ট WHERE শর্ত ব্যবহার করে কিছু বা সব সারি মুছে ফেলা যায়, তবে এটি প্রতিটি সারির ডিলিট আলাদাভাবে লগ করে, ফলে বড় টেবিলে ধীরগতির।
-
DROP: পুরো টেবিলসহ এর স্ট্রাকচার, কনস্ট্রেইন্ট ও ইনডেক্স সম্পূর্ণরূপে মুছে ফেলে; টেবিল পরে ব্যবহার করা যায় না।
-
ALTER: টেবিলের স্ট্রাকচার পরিবর্তন করতে ব্যবহৃত হয় (যেমন কলাম যোগ, মুছে ফেলা বা ডেটা টাইপ পরিবর্তন), তবে এটি কোনো রেকর্ড মুছে ফেলে না।
অতএব, টেবিলের সমস্ত রেকর্ড মুছে ফেলে কিন্তু স্ট্রাকচার অক্ষত রাখে এমন কমান্ড হলো ঘ) TRUNCATE।