MySQL : Compter le nombre de tables d'une base
Récemment, j'ai eu besoin d'afficher le nombre de tables d'une base MySQL 5.X. Je voulais éviter de faire du Bash à outrance et extraire la donnée directement depuis MySQL... Même si le Bash, c'est bon, mangez-en.
Allez, on commence par la requête :
SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';
mysql> SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal_4'; +-------------------+ | count(table_name) | +-------------------+ | 143 | +-------------------+ 1 row in set (0.00 sec)
Maintenant, l'idée est d'obtenir l'information directement en Bash :
mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1
Résultat :
usr@srvmysql # mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1 143
Voilà !