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

bash - SQL Query Output til variabel

Taget fra bash script - vælg fra database til variabel , kan du læse forespørgselsresultatet ind i en variabel.

Eksempel

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

Brug

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

echo er bash-kommandoen til output. Du kan derefter del $myvar i separate variable :

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

Du kan kombinere disse to kommandoer til en enkelt:

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

Det er muligt at gemme resultaterne i arrays (nyttigt, hvis du ikke ved, hvor mange poster der er):

$ 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


  1. JDBC:fremmednøgle på PK oprettet i samme transaktion

  2. SQL GROUP BY CASE-sætning med aggregeret funktion

  3. MySQL – Sådan genereres tilfældigt tal

  4. Oracle Security Alert for CVE-2021-44228