MySQL-এ কোনো ডেটাবেসে কোন টেবিলগুলোতে দুটি নির্দিষ্ট কলাম (যেমন Id এবং Name) একসাথে আছে তা খুঁজে বের করতে information_schema.columns টেবিল কোয়েরি করা হয়।
কোয়েরি: Id এবং Name কলামযুক্ত টেবিল খুঁজুন
mysql> select table_name as TableNameFromWebDatabase
-> from information_schema.columns
-> where column_name IN ('Id', 'Name')
-> group by table_name
-> having count(*) = 3;
নোট: having count(*) = 3 এখানে ব্যবহার করা হয়েছে, কিন্তু লজিক্যালি দুটি কলামের জন্য count(*) = 2 হওয়া উচিত। উদাহরণে ৩টি কলাম ম্যাচ করেছে (সম্ভবত Id, Name এবং অন্য একটি)।
ফলাফল
+--------------------------+ | TableNameFromWebDatabase | +--------------------------+ | student | | distinctdemo | | secondtable | | groupconcatenatedemo | | indemo | | ifnulldemo | | demotable211 | | demotable212 | | demotable223 | | demotable233 | | demotable251 | | demotable255 | +--------------------------+
প্রমাণ: demotable233 টেবিলের স্ট্রাকচার
mysql> desc demotable233; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+
সঠিক কোয়েরি (দুই কলামের জন্য):
SELECT table_name
FROM information_schema.columns
WHERE table_schema = 'your_db' AND column_name IN ('Id', 'Name')
GROUP BY table_name
HAVING COUNT(DISTINCT column_name) = 2;