উত্তর: DBMS বা SQL-এ DROP এবং DELETE — দুটিই data বা database object remove করার জন্য ব্যবহৃত হয়। তবে এদের কাজ এক নয়। DELETE command table-এর ভিতরের row বা record মুছে ফেলে, কিন্তু table-এর structure বা গঠন রেখে দেয়। অন্যদিকে, DROP command পুরো table বা database object-সহ তার structure এবং data সম্পূর্ণভাবে মুছে ফেলে।
সহজ ভাষায়: DELETE ব্যবহার করলে table থাকে, শুধু data মুছে যায়। DROP ব্যবহার করলে table-ই database থেকে মুছে যায়।
DELETE command ব্যবহার করা হয় table থেকে নির্দিষ্ট row বা record মুছে ফেলার জন্য। এটি table-এর structure delete করে না। WHERE clause ব্যবহার করে নির্দিষ্ট record delete করা যায়।
DROP command ব্যবহার করা হয় database থেকে সম্পূর্ণ table বা database object মুছে ফেলার জন্য। DROP command table-এর structure, data, constraints এবং related objects remove করে দেয়।
DELETE command হলো SQL-এর একটি DML বা Data Manipulation Language command। এটি table-এর data বা record নিয়ে কাজ করে। DELETE command ব্যবহার করে table থেকে একটি বা একাধিক row মুছে ফেলা যায়।
DELETE command ব্যবহার করলে table database-এ থেকে যায়। শুধু table-এর ভিতরের selected rows delete হয়।
DELETE FROM table_name
WHERE condition;
এখানে WHERE clause ব্যবহার করে নির্দিষ্ট row delete করা হয়। যদি WHERE clause না দেওয়া হয়, তাহলে table-এর সব row delete হয়ে যেতে পারে।
ধরা যাক, একটি Student table আছে:
| Roll | Name | Class | Marks |
|---|---|---|---|
| 1 | Rahul | 10 | 85 |
| 2 | Sima | 10 | 90 |
| 3 | Amit | 10 | 78 |
যদি Roll 3-এর student record delete করতে চাই, তাহলে query হবে:
DELETE FROM Student
WHERE Roll = 3;
ব্যাখ্যা: এই command Student table থেকে শুধু Roll 3-এর record delete করবে। কিন্তু Student table database-এ আগের মতোই থাকবে।
DELETE command ব্যবহারের সময় WHERE condition ব্যবহার করা খুবই গুরুত্বপূর্ণ। কারণ WHERE clause না দিলে table-এর সব records delete হয়ে যেতে পারে।
DELETE FROM Student;
সতর্কতা: উপরের query-তে WHERE clause নেই। তাই এটি Student table-এর সব row delete করে দিতে পারে, কিন্তু table structure থাকবে।
DROP command হলো SQL-এর একটি DDL বা Data Definition Language command। এটি database object-এর structure নিয়ে কাজ করে। DROP command ব্যবহার করে table, database, view, index ইত্যাদি database object সম্পূর্ণভাবে remove করা যায়।
DROP command ব্যবহার করলে table-এর data এবং table-এর structure—দুটিই database থেকে মুছে যায়। তাই DROP command খুব সতর্কভাবে ব্যবহার করতে হয়।
DROP TABLE table_name;
যদি Student table সম্পূর্ণভাবে database থেকে remove করতে চাই, তাহলে query হবে:
DROP TABLE Student;
ব্যাখ্যা: এই command Student table-কে সম্পূর্ণভাবে database থেকে মুছে ফেলবে। অর্থাৎ table-এর data, columns, structure—সবকিছু remove হয়ে যাবে।
| বিষয় | DELETE Command | DROP Command |
|---|---|---|
| কাজ | Table-এর row বা record delete করে | সম্পূর্ণ table বা database object delete করে |
| Command Type | DML command | DDL command |
| Table Structure | Table structure থেকে যায় | Table structure মুছে যায় |
| Data | নির্দিষ্ট বা সব row delete করা যায় | সম্পূর্ণ data remove হয় |
| WHERE Clause | WHERE clause ব্যবহার করা যায় | WHERE clause ব্যবহার করা যায় না |
| ব্যবহার | Specific record delete করতে ব্যবহৃত হয় | Table সম্পূর্ণ remove করতে ব্যবহৃত হয় |
| Example | DELETE FROM Student WHERE Roll = 3; | DROP TABLE Student; |
ধরা যাক, একটি খাতা আছে যেখানে ছাত্রদের নাম লেখা আছে।
DELETE FROM Student
WHERE Roll = 2;
এই query Student table থেকে Roll 2-এর student record delete করবে। Table structure থাকবে।
DROP TABLE Student;
এই query Student table-কে সম্পূর্ণভাবে database থেকে delete করে দেবে। Table structure এবং data—দুটিই মুছে যাবে।
উদাহরণ: Student table থেকে শুধু Roll 5-এর student record delete করতে হলে DELETE ব্যবহার করা হবে।
উদাহরণ: Student table পুরোপুরি database থেকে remove করতে হলে DROP TABLE Student ব্যবহার করা হবে।
DROP command ব্যবহার করার আগে নিশ্চিত হওয়া দরকার যে table বা database object সত্যিই আর দরকার নেই। কারণ DROP করলে table structure এবং data—দুটিই remove হয়ে যায়।
DELETE command ব্যবহার করার সময় WHERE clause না দিলে table-এর সব row delete হয়ে যেতে পারে। তাই DELETE command লেখার সময় condition ঠিক আছে কি না তা ভালোভাবে যাচাই করা উচিত।
| Command | কাজ | Structure থাকে? |
|---|---|---|
| DELETE | নির্দিষ্ট বা সব row delete করে | হ্যাঁ, structure থাকে |
| DROP | সম্পূর্ণ table remove করে | না, structure মুছে যায় |
| TRUNCATE | সব row দ্রুত delete করে | হ্যাঁ, structure থাকে |
Note: DELETE নির্দিষ্ট row delete করতে পারে, TRUNCATE সব row delete করে কিন্তু table রাখে, আর DROP পুরো table remove করে।
শিক্ষক ছাত্রদের এভাবে বোঝাতে পারেন:
ধরা যাক, একটি school register আছে। যদি register থেকে একজন ছাত্রের নাম কেটে দেওয়া হয়, তাহলে সেটি DELETE command-এর মতো। Register বা table কিন্তু থেকে যায়।
কিন্তু যদি পুরো register-টাই ফেলে দেওয়া হয়, তাহলে সেটি DROP command-এর মতো। তখন register এবং তার ভিতরের সব information—দুটিই আর থাকবে না।
প্রথমে DELETE command-এর কাজ লিখবে।
তারপর DROP command-এর কাজ লিখবে।
উল্লেখ করবে DELETE row remove করে, DROP table remove করে।
DELETE হলো DML এবং DROP হলো DDL—এ কথা লিখলে উত্তর ভালো হবে।
শেষে ছোট SQL example দিলে উত্তর পূর্ণাঙ্গ হবে।
DELETE deletes rows, DROP drops the whole table.
বাংলায়: DELETE row মুছে, DROP পুরো table মুছে।
SQL-এ DELETE এবং DROP command data বা database object remove করার জন্য ব্যবহৃত হয়, কিন্তু এদের কাজ আলাদা। DELETE command ব্যবহার করে table থেকে নির্দিষ্ট row বা record delete করা হয়। এটি table-এর structure delete করে না। DELETE command সাধারণত DML command এবং এতে WHERE clause ব্যবহার করে নির্দিষ্ট record delete করা যায়। উদাহরণ: DELETE FROM Student WHERE Roll = 3;
অন্যদিকে, DROP command ব্যবহার করে database থেকে সম্পূর্ণ table বা database object remove করা হয়। DROP command table-এর data এবং structure—দুটিই delete করে দেয়। এটি সাধারণত DDL command। উদাহরণ: DROP TABLE Student; তাই DELETE ব্যবহার করা হয় table-এর data delete করার জন্য, আর DROP ব্যবহার করা হয় পুরো table remove করার জন্য।