এমন একটি দৃশ্য হতে পারে যেখানে আপনি একটি টেবিল মুছে ফেলছেন যা আসলে আপনার ডাটাবেসে বিদ্যমান নেই। এটা সম্ভব যে ডাটাবেস থেকে একটি টেবিল মুছে ফেলার কমান্ড কার্যকর করার সময়, আমরা টেবিলের ভুল নাম দিতে পারি যা আমাদের ডাটাবেসে বিদ্যমান নেই। আরেকটি সম্ভাবনা হল যে আপনি একটি টেবিল মুছে ফেলছেন যা ইতিমধ্যেই অন্য কেউ মুছে দিয়েছে যার ডাটাবেসে অ্যাক্সেস রয়েছে। এই পরিস্থিতিতে আপনি কমান্ডটি কার্যকর করার সময় একটি ত্রুটি পাবেন কারণ আপনি যে টেবিলটি মুছতে চান সেটি উপস্থিত নেই৷
টেবিলটি উপস্থিত আছে কিনা তা পরীক্ষা করে এবং তারপর এটি মুছে ফেলার মাধ্যমে এই ত্রুটিটি এড়ানো যেতে পারে। যদি টেবিলটি উপস্থিত না থাকে, তাহলে সেই টেবিলটি মুছে ফেলার জন্য আপনার আদেশ কোনো ত্রুটি ছাড়াই কার্যকর করা হবে না৷
IF EXISTS স্টেটমেন্টটি আমরা যে টেবিলটি মুছতে চাই তা যাচাই করতে ব্যবহার করা হয়।
সিনট্যাক্স
DROP TABLE IF EXISTS table_name
উপরের বিবৃতিটি টেবিলটি বিদ্যমান থাকলেই কেবল ড্রপ টেবিল অপারেশন সম্পাদন করে, অন্যথায় এটি কোনও ক্রিয়া সম্পাদন করে না এবং তাই, ত্রুটি ঘটতে বাধা দেয়৷
পাইথনে MySQL ব্যবহার করে ডাটাবেসে উপস্থিত আছে কিনা তা পরীক্ষা করার পরে একটি টেবিল মুছে ফেলার পদক্ষেপগুলি
-
MySQL সংযোগকারী আমদানি করুন
-
connect()
ব্যবহার করে সংযোগকারীর সাথে সংযোগ স্থাপন করুন -
কার্সার() পদ্ধতি
ব্যবহার করে কার্সার অবজেক্ট তৈরি করুন -
উপযুক্ত mysql বিবৃতি ব্যবহার করে একটি প্রশ্ন তৈরি করুন
-
execute() পদ্ধতি
ব্যবহার করে এসকিউএল কোয়েরি চালান -
সংযোগ বন্ধ করুন
উদাহরণ
ধরুন, আমাদের ডাটাবেস থেকে একটি টেবিল মুছে ফেলতে হবে, কিন্তু তার আগে আমাদের এটি বিদ্যমান আছে কিনা তা পরীক্ষা করতে হবে।
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="DROP TABLE IF EXISTS Employees " cursor.execute(query) print("TABLE DROPED..") db.close()বিদ্যমান থাকলে টেবিল ড্রপ করুন
উপরের কোডটি ডাটাবেস থেকে "কর্মচারী" টেবিলটি মুছে দেয় যদি এটি বিদ্যমান থাকে। অন্যথায়, যদি টেবিলটি বিদ্যমান না থাকে তবে এটি কোন ত্রুটি দেয় না।
আউটপুট
TABLE DROPED..