Bash et resultat de requete SQL
Résolu/Fermé
A voir également:
- Bash sql
- Bingo bash free - Télécharger - Divers Jeux
- Blob sql ✓ - Forum Webmastering
- Sql lister les tables ✓ - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
- Bash addition ✓ - Forum Shell
8 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
22 nov. 2008 à 20:25
22 nov. 2008 à 20:25
requete="connect ma_base; SELECT champ1,champ2 FROM ma_table" mysql -u root -p$rootMysqlPass -e "$requete" | sed '1d' | while read nom pnom age; do echo "$nom - $pnom - $age" done
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
22 nov. 2008 à 20:04
22 nov. 2008 à 20:04
requete="connect ma_base; SELECT champ1,champ2 FROM ma_table" mysql -u root -p$rootMysqlPass -e "$requete" | while read nom pnom age; do commande1 $nom $age $pnom commande2 $nom $pnom $age doneBien sur, le séparateur de champ étant un espace ou une tabulation et non pas un "|" auquel cas il faudrait le préciser en début de boucle...
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
22 nov. 2008 à 18:56
22 nov. 2008 à 18:56
Salut,
Affiche-nous un exemple de sortie générée par ta requête SQL, sans quoi on ne te sera d'aucun secours.
Affiche-nous un exemple de sortie générée par ta requête SQL, sans quoi on ne te sera d'aucun secours.
bonjour merci de votre réponse,
j'ai modifier en donnant un nom à champ1 etc...
et la sortie est
et j'aimerai pouvoir faire un traitement sur chaque ligne ( row ) de retour
Je sais pas si je m'exprime comme il faut
encore merci de votre aide
j'ai modifier en donnant un nom à champ1 etc...
var_dream=`mysql -u root -p$rootMysqlPass -B --exec="connect ma_base; SELECT nom,pnom,age FROM ma_table"` echo "$var_dream"
et la sortie est
nom prenom slots dupond jean 32 dumont benoit 22 pondu françois 43
et j'aimerai pouvoir faire un traitement sur chaque ligne ( row ) de retour
- boucle sur le resultat de la requête nom="valeur du champ nom" prenom="valeur du champ prenom" age="valeur du champ age" echo "$nom - $prenom - $age" - fin de la boucle
Je sais pas si je m'exprime comme il faut
encore merci de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
22 nov. 2008 à 19:49
22 nov. 2008 à 19:49
[tmpfs]$ cat fich nom prenom slots dupond jean 32 dumont benoit 22 pondu françois 43 [tmpfs]$ while read nom prenom age;do echo "$nom - $prenom - $age";done < fich nom - prenom - slots dupond - jean - 32 dumont - benoit - 22 pondu - françois - 43 [tmpfs]$Mais bon si c'est juste pour rajouter un tiret entre chaque champ, il y a d'autres voies plus simple pour y arriver ;-))
merci encore de votre réponse,
je n'ai pas compris ou je devais mettre
désolé je débute
enfaite je doit utiliser les variable ainsi créer à chaque ligne pour passer des paramètre a une autre exécution
exemple :
Le trait d'union était juste pour tester, je pourrait alors utiliser les variable pour exécuter une action dans sa boucle
et à quoi correspond [tmpfs]$ ?
encore une fois merci de votre aide
je n'ai pas compris ou je devais mettre
[tmpfs]$ while read nom prenom age;do echo "$nom - $prenom - $age";done < fich nom - prenom - age dupond - jean - 32 dumont - benoit - 22 pondu - françois - 43 [tmpfs]$
désolé je débute
enfaite je doit utiliser les variable ainsi créer à chaque ligne pour passer des paramètre a une autre exécution
exemple :
- boucle sur le resultat nom="valeur nom" prenom="valeur pnom" age="valeur age" ici je lance une exécution avec comme argument mes variable commande1 nom age pnom commande2 nom pnom age - fin de la boucle
Le trait d'union était juste pour tester, je pourrait alors utiliser les variable pour exécuter une action dans sa boucle
et à quoi correspond [tmpfs]$ ?
encore une fois merci de votre aide
merci beaucoup celà fonctionne parfaitement
j'ai juste un souci c'est que il me retourne en premiere le nom des colonne
comme je l'ai dit ca marche à merveille grâce à vous et le resultat des echo est
j'ai mit en gras la ligne concerné
est-il possible d'empêcher le retour des nom de colonne dans le résultat ?
je tiens encore à vous remercie, sans votre aide j'en serait pas là
j'ai juste un souci c'est que il me retourne en premiere le nom des colonne
requete="connect ma_base; SELECT champ1,champ2 FROM ma_table" mysql -u root -p$rootMysqlPass -e "$requete" | while read nom pnom age; do echo "$nom - $pnom - $age" done
comme je l'ai dit ca marche à merveille grâce à vous et le resultat des echo est
nom - prenom - age dupond - jean - 32 dumont - benoit - 22 pondu - françois - 43
j'ai mit en gras la ligne concerné
est-il possible d'empêcher le retour des nom de colonne dans le résultat ?
je tiens encore à vous remercie, sans votre aide j'en serait pas là