Mysql
 sql >> Database >  >> RDS >> Mysql

bash - Output della query SQL su variabile

Tratto da script bash - seleziona dal database nella variabile , puoi leggere il risultato della query in una variabile.

Esempio

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

Utilizzo

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

echo è il comando bash per l'output. Puoi quindi dividere $myvar in variabili separate :

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

Puoi combinare questi due comandi in uno solo:

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

È possibile memorizzare i risultati in array (utile se non si sa quanti record ci sono):

$ 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