2011-01-05 21 views
21

データベースの各テーブルにいくつの行があるか知りたいです。そしてたくさんある - 私は私がそれぞれ、すべてのテーブルの上にそれを行う必要があるだろうしかしMYSQL - 各テーブルの行数をカウントする

select count(*) _tablename_; 

を有することに限り来ています。テーブル名と行数をプリントアウトするにはどうすればいいですか?

答えて

65
SELECT table_name, table_rows 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_SCHEMA = '<your db>'; 

私はまた、あなたのクエリにエラーがあります実現を願って:それはFROMが欠落しています。

+0

ありがとうございました。私は、メタデータからリストを取得する方が良いという点を持っています! – Redconnection

+3

おっと...私はこのクエリを試しましたが、不安定な結果が得られます(毎回異なる値)。 – Don

+4

はい、InnoDBの行数の不正確さは、ここに記載されているようにそのエンジンの副産物です:http://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html – Andrew

関連する問題