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à !

Vus : 1060
Publié par Jeoffrey Bauvin : 48