Comment encapsuler une requete sql dans un script shell

Fermé
Seka - 17 juil. 2014 à 16:32
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 1 août 2014 à 10:27
Bonjour,

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

4 réponses

Utilisateur anonyme
17 juil. 2014 à 16:54
salut,

de la même manière que tu "encapsulerais" n'importe quelle autre commande !
0
aurelazy Messages postés 189 Date d'inscription vendredi 21 février 2014 Statut Membre Dernière intervention 30 janvier 2015 50
18 juil. 2014 à 10:34
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,
0
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
0
?
#!/bin/sh

mysql <options d'identification> --execute='<commande mySQL que je ne peux pas deviner>'
0
imer33 Messages postés 2 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 août 2014
1 août 2014 à 09:54
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à :)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
1 août 2014 à 10:27
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 ;-\
0