2011-01-05 8 views
21

Je voudrais connaître le nombre de lignes dans chaque table de ma base de données. Je suis venu jusqu'à avoirMYSQL - nombre de lignes dans chaque table

select count(*) _tablename_; 

Cependant, je dois le faire sur chaque tableau - et il y en a beaucoup. Qu'est-ce que je ferais de mieux pour obtenir une impression avec le nom de la table et le nombre de lignes?

Répondre

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

J'espère aussi vous rendrez compte qu'il ya une erreur dans votre requête: il manque un FROM.

+0

Merci beaucoup. J'ai le rôle qu'il vaut mieux obtenir la liste des métadonnées! – Redconnection

+3

Oups ... J'ai essayé cette requête mais elle donne des résultats instables (chaque fois des valeurs différentes)! – Don

+4

Oui, l'inexactitude du nombre de lignes InnoDB est un sous-produit de ce moteur comme mentionné ici: http://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html – Andrew

Questions connexes