Mysql
 sql >> Base de données >  >> RDS >> Mysql

bash - Sorties de la requête SQL vers la variable

Tiré de script bash - sélectionner de la base de données dans la variable , vous pouvez lire le résultat de la requête dans une variable.

Exemple

mysql> SELECT * FROM domains;
+-------+---------+
| user  | domain  |
+-------+---------+
| user1 | domain1 |
| user2 | domain2 |
| user3 | domain3 |
+-------+---------+

Utilisation

$ myvar=$(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")
$ echo $myvar
domain1 domain2 domain3

echo est la commande bash pour la sortie. Vous pouvez alors diviser $myvar en variables séparées :

$ read var1 var2 var3 <<< $myvar
$ echo $var1
domain1
$ echo $var2
domain2

Vous pouvez combiner ces deux commandes en une seule :

read var1 var2 var3 <<< $(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")

Il est possible de stocker les résultats dans des tableaux (utile si vous ne savez pas combien d'enregistrements il y a) :

$ read -ra vars <<< $(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")
$ for i in "${vars[@]}"; do
$     echo $i
$ done
domain1
domain2
domain3