MySQL में INFORMATION_SCHEMA.TABLES का उपयोग करके आप डेटाबेस की सभी तालिकाओं पर एग्रीगेट क्वेरी चला सकते हैं, जैसे कुल पंक्ति संख्या प्राप्त करना।
सिंटैक्स: डेटाबेस की सभी तालिकाओं की कुल पंक्ति संख्या
SELECT SUM(TABLE_ROWS) AS Total FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = yourDatabaseName;
वर्तमान डेटाबेस के लिए उदाहरण
mysql> SELECT SUM(TABLE_ROWS) AS Total FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
आउटपुट:
+-------+ | Total | +-------+ | 1666 | +-------+
व्याख्या:
INFORMATION_SCHEMA.TABLES- सभी तालिकाओं का मेटाडेटाTABLE_ROWS- अनुमानित पंक्ति संख्या (InnoDB के लिए अनुमानित, MyISAM के लिए सटीक)TABLE_SCHEMA = DATABASE()- वर्तमान डेटाबेस की तालिकाओं तक सीमितSUM()- सभी तालिकाओं की पंक्तियों का योग
महत्वपूर्ण नोट: TABLE_ROWS InnoDB तालिकाओं के लिए अनुमानित होता है (नमूनाकरण पर आधारित)। सटीक गिनती के लिए:
SELECT SUM(cnt) FROM (
SELECT COUNT(*) AS cnt FROM table1
UNION ALL SELECT COUNT(*) FROM table2
-- सभी तालिकाओं के लिए दोहराएं
) AS t;
डायनामिक SQL के लिए (सभी तालिकाओं पर एक ही ऑपरेशन): स्टोर्ड प्रोसीजर में INFORMATION_SCHEMA.TABLES से तालिका नाम प्राप्त करके PREPARE/EXECUTE का उपयोग करें।