Comment encapsuler une requete sql dans un script shell

Seka -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
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
 
salut,

de la même manière que tu "encapsulerais" n'importe quelle autre commande !
0
aurelazy Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   50
 
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
Seka
 
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
Utilisateur anonyme
 
?
#!/bin/sh

mysql <options d'identification> --execute='<commande mySQL que je ne peux pas deviner>'
0
imer33 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 430
 
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