Information schema not showing reliable information?
The root cause is the storage engine. InnoDB does not update the information_schema.tables.table_rows column.

I have old posts that explain this further


Apr 23, 2012 : Why is a secondary index chosen over a clustered index for SELECT COUNT(*) ...?
May 16, 2012 : Why doesn&#39;t InnoDB store the row count?
Mar 03, 2014 : The most efficient method to obtain the total entries into a mysql table


You can get an approximation using SHOW INDEXES FROM against the table

If you would like to count all the tables in your current database regardless of the storage engine, just run this:

SET group_concat_max_len = 1024*1024*1024;
SELECT GROUP_CONCAT(sqltocount SEPARATOR ' UNION ') sqlcount INTO @sql
FROM (SELECT CONCAT('SELECT ''',table_name,''' tablename,COUNT(1) RowCount
FROM ',table_name) sqltocount FROM (SELECT table_name FROM
information_schema.tables WHERE table_schema=DATABASE()) AA) A;
SELECT @sql\G PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;


GIVE IT A TRY !!!