การใช้ INFORMATION_SCHEMA.TABLES
สามารถดูจำนวนแถว (ประมาณการ) ของทุกตารางในฐานข้อมูลได้จาก system table INFORMATION_SCHEMA.TABLES
รูปแบบคำสั่ง
SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'yourDatabaseName';
ตัวอย่างกับฐานข้อมูล 'test'
mysql> SELECT table_name, table_rows
-> FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = 'test';
ผลลัพธ์ตัวอย่าง (บางส่วน)
+------------------------------------+------------+ | TABLE_NAME | TABLE_ROWS | +------------------------------------+------------+ | _student_trackerdemo | 0 | | _studenttrackerdemo | 0 | | add30minutesdemo | 0 | | addcolumn | 0 | | addingcurrencysymboldemo | 4 | | addingdaysdemo | 8 | | addoneday | 2 | | agecalculatesdemo | 4 | | ... (รวม 243 ตาราง) | ... | +------------------------------------+------------+ 243 rows in set (0.86 sec)
หมายเหตุสำคัญ:
- ค่า
table_rowsเป็นค่าประมาณการ (estimate) สำหรับ storage engine เช่น InnoDB - สำหรับ MyISAM จะเป็นค่าที่แน่นอน
- หากต้องการค่าที่แน่นอน ให้ใช้
SELECT COUNT(*) FROM table_nameสำหรับแต่ละตาราง
คำสั่งนับแถวที่แน่นอนสำหรับตารางเดียว:
SELECT COUNT(*) FROM yourTableName;