Nombre de lignes du tableau

Quelle est la commande MySQL pour récupérer le nombre d’enregistrements dans une table?

SELECT COUNT(*) FROM fooTable; 

comptera le nombre de lignes dans la table.

Voir le manuel de référence .

Parce que personne ne l’a mentionné:

 show table status; 

répertorie toutes les tables avec des informations supplémentaires, y compris les lignes estimées pour chaque table. C’est ce que phpMyAdmin utilise pour sa page de firebase database.

Ces informations sont disponibles dans MySQL 4, probablement en MySQL 3.23 – firebase database de schémas d’informations préalables de longue durée.

METTRE À JOUR

Étant donné que le vote était négatif, je tiens à préciser que le nombre indiqué est estimé uniquement pour InnoDB et TokuDB et qu’il est absolument correct pour les moteurs de stockage MyISAM et Aria (Maria).

C’est aussi le moyen le plus rapide de voir le nombre de lignes sur MySQL, car les requêtes comme:

 select count(*) from table; 

Faire une parsing complète de la table peut représenter une opération très coûteuse qui peut prendre des heures sur un grand serveur à forte charge. Il augmente également les E / S disque.

La même opération peut bloquer la table pour les insertions et les mises à jour – ceci se produit uniquement sur les moteurs de stockage exotiques.

InnoDB et TokuDB sont corrects avec le locking de la table, mais nécessitent une parsing complète de la table.

Nous avons un autre moyen de déterminer le nombre de lignes d’une table sans exécuter la requête select sur cette table.

Chaque instance de mysql a une firebase database information_schema. Si vous exécutez la requête suivante, elle fournira des informations complètes sur la table, y compris le nombre approximatif de lignes dans cette table.

 select * from information_schema.TABLES where table_name = 'table_name'\G 

Simplement:

 SELECT COUNT(*) FROM `tablename` 
 select count(*) from YourTable 

Si vous avez plusieurs champs dans votre table et que votre table est énorme, il vaut mieux NE PAS UTILISER * car cela charge tous les champs en mémoire et l’utilisation de ce qui suit aura de meilleures performances.

 SELECT COUNT(1) FROM fooTable; 
 $sql="SELECT count(*) as toplam FROM wp_postmeta WHERE meta_key='ICERIK' AND post_id=".$id; $total = 0; $sqls = mysql_query($sql,$conn); if ( $sqls ) { $total = mysql_result($sqls, 0); }; echo "Total:".$total;` 

Vous devez utiliser count () renvoie le nombre de lignes correspondant à un critère spécifié

 select count(*) from table_name; 

Faites juste un

 SELECT COUNT(*) FROM table; 

Vous pouvez spécifier des conditions avec un où après cela

 SELECT COUNT(*) FROM table WHERE eye_color='brown'; 

Voici un cas particulier Si vous ne supprimez jamais de données de la table, vous pouvez simplement utiliser une colonne d’ id auto_increment pour compter le nombre de lignes. Assurez-vous que l’ id n’est pas défini manuellement lors de l’insertion de données dans cette table. Cette opération ne prend que quelques millisecondes.

 SELECT id FROM table ORDER BY id DESC LIMIT 1;