Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีนับจำนวนแถวข้อมูลในทุกตารางของ MySQL

การใช้ 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;