MySQL में information_schema और GROUP_CONCAT के साथ सभी तालिका नामों को एक पंक्ति में सूचीबद्ध करना
information_schema.tables प्रणाली दृश्य का उपयोग करके डेटाबेस की सभी तालिकाओं के नाम प्राप्त किए जा सकते हैं। GROUP_CONCAT() उन्हें एकल स्ट्रिंग में संयोजित करता है।
क्वेरी
mysql> SELECT GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = 'web';
आउटपुट (संक्षिप्त)
+------------------------------------------------------------------+ | GROUP_CONCAT(table_name) | +------------------------------------------------------------------+ | demo_table725,demotabe619,demotabe620,demotable211,demotable212,...| +------------------------------------------------------------------+
महत्वपूर्ण बिंदु
table_schema = 'web'- विशिष्ट डेटाबेस के लिए फ़िल्टर (आवश्यक)GROUP_CONCAT()डिफ़ॉल्ट 1024 वर्ण तक सीमित होता है- लंबी सूची के लिए
SET SESSION group_concat_max_len = 1000000;सेट करें
GROUP_CONCAT विकल्प
-- सभी डेटाबेस SELECT SCHEMA_NAME FROM information_schema.SCHEMATA; -- विशिष्ट तालिका के कॉलम SELECT COLUMN_NAME, DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'web' AND TABLE_NAME = 'DemoTable'; -- इंडेक्स जानकारी SELECT * FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = 'web' AND TABLE_NAME = 'DemoTable';