Database Tutorials ডেটা Delete করা (DELETE Query) গাইড ও নোট

218

PostgreSQL ডেটাবেসে DELETE কুয়েরি ব্যবহার করে টেবিল থেকে ডেটা মুছে ফেলা হয়। এটি খুবই গুরুত্বপূর্ণ একটি অপারেশন, যা সাবধানে ব্যবহার করা উচিত কারণ একবার ডেটা মুছে ফেললে তা পুনরুদ্ধার করা কঠিন। নিচে DELETE কুয়েরি ব্যবহারের নিয়ম এবং উদাহরণ দেওয়া হলো।


১. DELETE কুয়েরি: মৌলিক সিনট্যাক্স

DELETE FROM table_name WHERE condition;
  • table_name: টেবিলের নাম যেখানে ডেটা মুছে ফেলা হবে।
  • condition: সেই শর্ত যা পূর্ণ হলে ডেটা মুছে ফেলা হবে। যদি শর্ত না দেওয়া হয়, তাহলে পুরো টেবিলের সব রেকর্ড মুছে যাবে।

২. DELETE কুয়েরি উদাহরণ

উদাহরণ ১: একটি রেকর্ড মুছে ফেলা

ধরা যাক, employees নামক একটি টেবিল রয়েছে এবং আপনি যেখানে employee_id = 5 সেখানে থাকা রেকর্ডটি মুছে ফেলতে চান। এর জন্য কুয়েরি হবে:

DELETE FROM employees WHERE employee_id = 5;

এই কুয়েরিটি শুধুমাত্র সেই রেকর্ডটি মুছে ফেলবে যেখানে employee_id 5।

উদাহরণ ২: একাধিক রেকর্ড মুছে ফেলা

ধরা যাক, আপনি employees টেবিল থেকে department = 'Sales' এর সকল রেকর্ড মুছে ফেলতে চান। এর জন্য কুয়েরি হবে:

DELETE FROM employees WHERE department = 'Sales';

এটি সমস্ত "Sales" বিভাগের কর্মচারীদের ডেটা মুছে ফেলবে।

উদাহরণ ৩: সমস্ত রেকর্ড মুছে ফেলা

যদি আপনি টেবিলের সব রেকর্ড মুছে ফেলতে চান, তবে WHERE শর্ত বাদ দিয়েই কুয়েরি চালাতে হবে:

DELETE FROM employees;

এই কুয়েরিটি employees টেবিলের সব রেকর্ড মুছে ফেলবে। দ্রষ্টব্য: এই অপারেশনটি বিপজ্জনক, কারণ এটি টেবিলের সব ডেটা মুছে ফেলবে এবং তা পুনরুদ্ধার করা কঠিন হতে পারে।


৩. DELETE কুয়েরি এবং TRUNCATE এর মধ্যে পার্থক্য

  • DELETE কুয়েরি:
    • এটি ডেটা মুছে ফেলার জন্য ব্যবহৃত হয় এবং যেকোনো শর্ত ব্যবহার করা যায়।
    • এটি টেবিলের জন্য ট্রানজেকশন লগ তৈরি করে এবং একাধিক রেকর্ড মুছে ফেলার জন্য ধীরে ধীরে কাজ করে।
    • আপনি WHERE শর্ত দিয়ে নির্দিষ্ট রেকর্ড মুছে ফেলতে পারবেন।
  • TRUNCATE কুয়েরি:
    • এটি টেবিলের সব রেকর্ড দ্রুত মুছে ফেলে, কিন্তু WHERE শর্ত ব্যবহার করা যায় না।
    • এটি কার্যকরীভাবে টেবিলটি পুনরায় তৈরি করে এবং অনেক দ্রুত কাজ করে।
    • এটি ট্রানজেকশন লগ তৈরি করে না বা পুনরুদ্ধারের জন্য ব্যবহার করা যায় না।

৪. DELETE কুয়েরি প্রয়োগের আগে সতর্কতা

  • ব্যাকআপ: ডেটা মুছে ফেলার আগে ডেটাবেস বা টেবিলের ব্যাকআপ নেয়া উচিত।
  • WHERE শর্ত: WHERE শর্তের মাধ্যমে ডেটা নির্বাচন করুন, যাতে ভুল করে পুরো টেবিল মুছে না যায়।
  • ডিলিটেড ডেটা রিকভারি: যদি আপনি নিশ্চিত না হন, তাহলে আগে একটি SELECT কুয়েরি চালিয়ে দেখুন, যে ডেটা আপনি মুছে ফেলতে যাচ্ছেন তা সঠিক কিনা।
SELECT * FROM employees WHERE department = 'Sales';

৫. DELETE কুয়েরি এবং ফোরেন কি (Foreign Key) কনস্ট্রেইন্ট

যদি আপনার টেবিলে ফোরেন কী কনস্ট্রেইন্ট থাকে (যেমন, অন্যান্য টেবিলের সাথে সম্পর্কিত ডেটা), তবে সেই কনস্ট্রেইন্ট অনুযায়ী ডেটা ডিলিট হতে পারে না যদি তা অন্য টেবিলের ডেটার সাথে সম্পর্কিত থাকে। এতে ডেটা রেফারেন্স শৃঙ্খলা বজায় থাকে এবং ডেটাবেসের অখণ্ডতা নিশ্চিত হয়।

উদাহরণ: যদি orders টেবিল customers টেবিলের সাথে সম্পর্কিত থাকে, এবং আপনি একটি গ্রাহকের রেকর্ড মুছে ফেলতে চান, তবে আপনাকে নিশ্চিত হতে হবে যে সেই গ্রাহক সম্পর্কিত সমস্ত অর্ডার মুছে ফেলা হয়েছে।


সারাংশ

DELETE কুয়েরি PostgreSQL এ ডেটা মুছে ফেলার একটি শক্তিশালী উপায়, তবে এটি ব্যবহারে সতর্ক থাকা উচিত। WHERE শর্তের মাধ্যমে আপনি নির্দিষ্ট রেকর্ড মুছে ফেলতে পারেন, এবং কোনও শর্ত না দিলে পুরো টেবিলের ডেটা মুছে যাবে। ডেটা মুছে ফেলার আগে ব্যাকআপ নেবেন এবং প্রাথমিকভাবে সিলেক্ট কুয়েরি চালিয়ে নিশ্চিত হবেন যে আপনি সঠিক ডেটাই মুছে ফেলছেন।

Content added By
Promotion

Are you sure to start over?

Loading...