INFORMATION_SCHEMA দিয়ে সব ডেটাবেস এবং তাদের টেবিল একসাথে কোয়েরি করা যায়।
কোয়েরি:
SELECT my_schema.SCHEMA_NAME,
GROUP_CONCAT(tbl.TABLE_NAME)
FROM INFORMATION_SCHEMA.SCHEMATA my_schema
LEFT JOIN INFORMATION_SCHEMA.TABLES tbl
ON my_schema.SCHEMA_NAME = tbl.TABLE_SCHEMA
GROUP BY my_schema.SCHEMA_NAME;
আউটপুট (অংশিক):
+---------------------------+------------------------------------------------------------------+ | SCHEMA_NAME | group_concat(tbl.TABLE_NAME) | +---------------------------+------------------------------------------------------------------+ | business | addconstraintdemo, addonedaydemo, autoincrementtozero, ... | | information_schema | COLUMNS, INNODB_CMP, INNODB_FIELDS, VIEWS, ENGINES, ... | | mysql | db, help_category, mytable, user, columns_priv, ... | | performance_schema | events_errors_summary_by_user_by_error, events_stages_summary... | | sys | host_summary_by_file_io, io_by_thread_by_latency, ... | | web | demotable492, demotable500, demotable508, DemoTable, ... | +---------------------------+------------------------------------------------------------------+ 36 rows in set
ব্যাখ্যা: INFORMATION_SCHEMA.SCHEMATA সব ডেটাবেস (স্কিমা) তালিকা দেয়। LEFT JOIN দিয়ে TABLES টেবিল জয়েন করা হয়। GROUP_CONCAT টেবিল নামগুলো কমা দিয়ে এক লাইনে আনে। NULL মানে ওই ডেটাবেসে কোন টেবিল নেই। দ্রষ্টব্য: GROUP_CONCAT-এর ডিফল্ট লিমিট ১০২৪ ক্যারেক্টার, বড় লিস্টের জন্য `SET SESSION group_concat_max_len = 1000000;` ব্যবহার করুন।