MySQL-এ কোনো টেবিল ডাটাবেসে আছে কিনা বুলিয়ান ফলাফল (TRUE/FALSE) আকারে জানতে INFORMATION_SCHEMA.TABLES টেবিল কোয়েরি করে CASE WHEN ব্যবহার করা হয়।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable (
-> Id INT,
-> Name VARCHAR(20)
-> );
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable VALUES(101, 'Chris');
mysql> INSERT INTO DemoTable VALUES(102, 'David');
৩. টেবিলের অস্তিত্ব যাচাই করুন
mysql> SELECT MAX(CASE WHEN table_name = 'DemoTable'
-> THEN 'Yes the table exist(TRUE)'
-> ELSE 'No(FALSE)' END) AS isTableExists
-> FROM information_schema.tables;
৪. ফলাফল
+-------------------------------+
| isTableExists |
+-------------------------------+
| Yes the table exist(TRUE) |
+-------------------------------+
ব্যাখ্যা:
information_schema.tables- সব ডাটাবেসের টেবিল মেটাডেটা ধারণ করে।CASE WHEN table_name = 'DemoTable' THEN ... ELSE ... END- টেবিল পাওয়া গেলে 'TRUE', নাও পাওয়া গেলে 'FALSE'।MAX()- একাধিক ডাটাবেসে একই নামের টেবিল থাকলে একটিই TRUE দিলে TRUE দেখাবে।
বিকল্প পদ্ধতি (সরল):
SHOW TABLES LIKE 'DemoTable';
এটি টেবিল থাকলে রো রিটার্ন করে, নাইলে_empty set। অ্যাপ্লিকেশন কোডে এটি সহজে চেক করা যায়।