Comment encapsuler une requete sql dans un script shell [Fermé]

Signaler
-
Messages postés
35594
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
17 septembre 2020
-
Bonjour,

je suis debutant en scripting.
je dois encapsuler une requete sql dans un script shell
Avez-vous un exemple?
Merci par avance

4 réponses


salut,

de la même manière que tu "encapsulerais" n'importe quelle autre commande !
Messages postés
192
Date d'inscription
vendredi 21 février 2014
Statut
Membre
Dernière intervention
30 janvier 2015
39
Bonjour Seka,

Une petite recherche Gougle peut faire l'affaire !

Voici un des premiers resultat:
https://quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/utilisation/bash-ex%C3%A9cuter-une-requ%C3%AAte-mysql-et-exploiter-le-r%C3%A9sultat

un peu lourd mais ça devrait marcher, En te baladant un peu tu devrais trouver plusieurs exemples

Bonne journée,
Merci les gars.

Le problème justement c'est que je n'arrive pas à trouver un bon exemple.
si tu as un exemple qqchquicommenceparQ je suis preneur.

Par avance merci
?
#!/bin/sh

mysql <options d'identification> --execute='<commande mySQL que je ne peux pas deviner>'
Messages postés
2
Date d'inscription
vendredi 1 août 2014
Statut
Membre
Dernière intervention
1 août 2014

Bonjour,

L'exemple ci dessous te permettra d'encapsuler plusieurs commandes mysql dans un script :

#!/bin/bash

TABLE_SQL=table_commandes

TEMP='mysql -utoto -ptata << MySCRIPT
USE $TABLE_SQL;
UPDATE commandes
SET designation = 'nimporte quoi'
WHERE article = 'xxxxxxxx'
;
SELECT * FROM commandes
;
MySCRIPT'

exit 0


Là il y a 2 commandes SQL. Tu as la possibilité d'utiliser des variables shell dans tes commandes SQL. C'est bien pratique.

Note : pour encapsuler les commandes (entre
mysql 
et
MyScript
), on utilise un ' (Altgr 7) et non pas un ' (apostrophe)

Voilà :)
Messages postés
35594
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
17 septembre 2020
5 452
Salut,

Note : pour encapsuler les commandes (entre mysql et MyScript), on utilise un ' (Altgr 7) et non pas un ' (apostrophe)
Ou alors on utilise la syntaxe
$(commande)
beaucoup plus lisible et recommandée par ailleurs ;-)


PS. Depuis toujours sur CCM les quotes inverses (Altgr+7) n'ont jamais été affichées comme il se doit et ce malgré d'incessantes réclamations auprès des hautes sphères. Gageons qu'un jour prochain, nos doléances soient entendues ;-\