কম্পিউটার টিউটোরিয়াল

MySQL-এ INFORMATION_SCHEMA এবং SUM() ব্যবহার করে একাধিক ডাটাবেসের টেবিল রো সংখ্যা যোগ করুন

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 কলাম দিয়ে নির্দিষ্ট ডাটাবেস ফিল্টার করা যায়।
  1. MySQL-এ কম্পোজিট কী (Composite Key) দিয়ে ডুপ্লিকেট সারি খুঁজে বের করা

  2. MySQL-এ একাধিক টেবিল থেকে COUNT(*) একসাথে বের করা (DUAL টেবিল ব্যবহার করে)

  3. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

  4. MySQL-এ UNION ALL এবং LIMIT ব্যবহার করে একাধিক টেবিল থেকে মোট রো সীমাবদ্ধ করা