[CMD] variable enregistrer dans .txt puis récupéré [MySQL]
Résolu
jourzebest
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
jourzebest Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
jourzebest Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai fait un script assez simple pour importer des base sql sur mon serveur MySQL. Ensuite je récupère les tables qui m'intéresse, en créant un dump.
Seul problème j'ai des tables avec plus de 150 000 000 de lignes, lorsque ses tables sont trop grandes je veux les "couper".
Pour ma première étape il faut donc récupéré le nombre de ligne contenue dans ma base.
Si j'ai bien compris le seule moyen d'avoir le résultat d'une requéte est de le sauvegarder dans un fichier txt.
Je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"C:\...\MySQL\bin\mysql.exe" -u root --database=maBase -e"SELECT count(id) FROM table1; SELECT count(id) FROM table2;"> fichierresult.txt
mon fichierresult.txt contient :
count(id)
1774016
count(id)
3018972
Comment puis-je récupéré les nombres et en faire la somme ?
Cordialement.
J'ai fait un script assez simple pour importer des base sql sur mon serveur MySQL. Ensuite je récupère les tables qui m'intéresse, en créant un dump.
Seul problème j'ai des tables avec plus de 150 000 000 de lignes, lorsque ses tables sont trop grandes je veux les "couper".
Pour ma première étape il faut donc récupéré le nombre de ligne contenue dans ma base.
Si j'ai bien compris le seule moyen d'avoir le résultat d'une requéte est de le sauvegarder dans un fichier txt.
Je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"C:\...\MySQL\bin\mysql.exe" -u root --database=maBase -e"SELECT count(id) FROM table1; SELECT count(id) FROM table2;"> fichierresult.txt
mon fichierresult.txt contient :
count(id)
1774016
count(id)
3018972
Comment puis-je récupéré les nombres et en faire la somme ?
Cordialement.
A voir également:
- Cmd variables
- Cmd - Guide
- Scannow cmd - Guide
- Cmd mac - Guide
- Récupérer clé windows cmd - Guide
- Fichier .cmd - Guide
1 réponse
Bonjour,
Ne connaissant pas mysql je ne peux que te donner des pistes.
Je fais souvent des choses comme cela avec Oracle. Dans le sql il y a des paramètres qui s'appliquent pour par exemple supprimer le titre des colonnes dans le fichier de sortie (set header off). Ainsi le fichier ne contient que des éléments utiles et tu peux même lui donner un nom en .bat
Pour la requête je ferais :
ainsi j'ai un .bat qui contient
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Ne connaissant pas mysql je ne peux que te donner des pistes.
Je fais souvent des choses comme cela avec Oracle. Dans le sql il y a des paramètres qui s'appliquent pour par exemple supprimer le titre des colonnes dans le fichier de sortie (set header off). Ainsi le fichier ne contient que des éléments utiles et tu peux même lui donner un nom en .bat
Pour la requête je ferais :
select 'set nbre=', sum(nbre) from (SELECT count(id) nbre FROM table1 union SELECT count(id) nbre FROM table2)
ainsi j'ai un .bat qui contient
set nbre=4799999
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
J'avais pas penser a modifier ma requête pour simplifier le tout..
Seulement petit probléme : ERROR 1248 (42000) at line 1: Every derived table must have its own alias
C'est peut étre spécifique a MySQL...
€dit : tout béte suffit de faire :
select 'set nbre=', sum(nbre) from
(SELECT count(id) nbre FROM table1
union
SELECT count(id) nbre FROM table2) as test
Si j'ai bien compris il faut mettre le if condition() else () sur une seule ligne.
Comment mettre plusieurs actions dans le else () ? et est ce qu'il est possible de mettre des sauts de ligne pour la visibilité ?