5.1 বিবৃতি থেকে মুছুন

এসকিউএল-এ যা করা সহজ তা হল ডেটা মুছে ফেলা। আপনি খুব দ্রুত সবকিছু মুছে ফেলতে পারেন এবং কেউ আপনাকে নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে না।

চলুন সহজতম দৃশ্যকল্প দিয়ে শুরু করা যাক: কিভাবে একটি টেবিলের একটি সারি মুছে ফেলা যায়

এটি এমন দৃশ্য যা আপনি প্রায়শই দেখতে পাবেন, এটি সাধারণত একটি নির্দিষ্ট রেকর্ড মুছে ফেলা হয় এবং স্ট্যান্ডার্ড কোয়েরিটি সাধারণত এর মতো দেখায়:

DELETE FROM table
WHERE id = 133;

এটি একমাত্র ক্যোয়ারী যেখানে আপনাকে কলামের নাম উল্লেখ করার প্রয়োজন নেই: সর্বোপরি, সারিগুলিতে অবিলম্বে ডেটা মুছে ফেলা হয়।

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

DELETE FROM table
WHERE id IN (1, 2, 3,);

তৃতীয় দৃশ্যটি হল একটি নির্দিষ্ট শর্তের সাথে মেলে এমন সারিগুলি সরানো:

DELETE FROM table
WHERE condition;

ধরা যাক আমরা আমাদের সমস্ত প্রোগ্রামারকে বরখাস্ত করতে চাই, তারপরে আমাদের একটি অনুরোধ লিখতে হবে:

DELETE FROM employee
WHERE occupation = 'Programmer';

এবং অবশেষে, আপনি যদি সমস্ত রেকর্ড মুছতে চান তবে আপনি এইরকম একটি প্রশ্ন লিখতে পারেন:

DELETE FROM table

এই সহজ ক্যোয়ারী একটি টেবিল থেকে সব রেকর্ড মুছে ফেলার জন্য যথেষ্ট. যাইহোক, এই ক্ষেত্রে কোন Ctrl + Z থাকবে না। রেকর্ডিংগুলি পুনরুদ্ধারের সম্ভাবনা ছাড়াই মুছে ফেলা হয় এবং এটিই। তাই ব্যাকআপ করুন, আরো প্রায়ই .

5.2 সবকিছু সরানো

দ্রুত অপসারণের জন্য (ব্যবহারকারীদের মাথাব্যথা যোগ করার জন্য), SQL এর আরও কয়েকটি কমান্ড রয়েছে।

কিভাবে দ্রুত একটি টেবিলের সমস্ত ডেটা মুছে ফেলা যায়? অপারেটর ব্যবহার করুন TRUNCATE:

TRUNCATE TABLE table

টেবিলের নামে একটি টাইপো - এবং আপনাকে কয়েক দিনের ডেটা পুনরুদ্ধার প্রদান করা হয়। খুশি হোন আপনি একজন ডাটাবেস অ্যাডমিন নন।

আপনার যদি কেবল টেবিলের ডেটাই নয়, তবে টেবিলটি নিজেই মুছতে হয়, তবে এর জন্য একটি অপারেটর DROP রয়েছে :

DROP TABLE table

যাইহোক, ডাটাবেস স্কিমাগুলির সাথে অনুরূপ বিকল্প রয়েছে । আপনি যদি ডাটাবেস নিজেই মুছে ফেলতে চান, তাহলে:

DROP SCHEME database

বা:

DROP DATABASE database

আপনি মুছে ফেলার জন্য DROP ব্যবহার করতে পারেন:

  • ঘটনা
  • ফাংশন
  • পদ্ধতি
  • INDEX
  • দেখুন
  • ট্রিগার

এবং এখানে ডেটা মুছে ফেলার সাথে সম্পর্কিত কয়েকটি আকর্ষণীয় গল্প রয়েছে:

দিনের বিরতি। sysadmin ত্রুটির কারণে GitLab গ্রাহকের 300 GB ডেটা মুছে দিয়েছে

sudo rm -rf, বা 2017/01/31 থেকে GitLab.com ডাটাবেস ঘটনার ক্রনিকল

সিলিকন ভ্যালি "সিলিকন ভ্যালি" - ডেটা মুছে ফেলা