MySQL-এ একাধিক ডাটাবেসে একই নামের টেবিল থাকলে, সব ডাটাবেসের সেই টেবিলের মোট রো সংখ্যা বের করতে INFORMATION_SCHEMA.TABLES এবং SUM(table_rows) ব্যবহার করা হয়।
উদাহরণ
১. 'web' ডাটাবেসে টেবিল তৈরি ও ডেটা ইনসার্ট করুন
mysql> CREATE TABLE DemoTable1568 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable1568 VALUES('Chris'), ('Bob'), ('David');
২. 'sample' ডাটাবেসে একই নামের টেবিল তৈরি ও ডেটা ইনসার্ট করুন
mysql> USE sample;
mysql> CREATE TABLE DemoTable1568 (Id INT);
mysql> INSERT INTO DemoTable1568 VALUES(101), (102), (103), (104);
৩. দুটি ডাটাবেসের মোট রো সংখ্যা বের করুন
mysql> SELECT SUM(table_rows) AS TotalNumberOfRows
-> FROM information_schema.tables
-> WHERE table_name = 'DemoTable1568';
৪. ফলাফল
+-------------------+
| TotalNumberOfRows |
+-------------------+
| 7 |
+-------------------+
ব্যাখ্যা: 'web' ডাটাবেসে ৩ রো + 'sample' ডাটাবেসে ৪ রো = ৭ রো।
মূল পয়েন্ট:
information_schema.tables- সার্ভারের সব ডাটাবেসের টেবিল মেটাডেটা রাখে।table_rows- ইননোডিবি (InnoDB) টেবিলের জন্য অনুমানিত রো সংখ্যা (Exact নাও হতে পারে)।- এক্সাক্ট কাউন্ট চাইলে:
SELECT (SELECT COUNT(*) FROM web.DemoTable1568) + (SELECT COUNT(*) FROM sample.DemoTable1568)। table_schemaকলাম দিয়ে নির্দিষ্ট ডাটাবেস ফিল্টার করা যায়।