sql >> Databáze >  >> RDS >> Mysql

Smyčka Bash skriptu přes MySQL

něco jako:

mysql -e "SELECT `theme_name`, `guid` FROM `themes` WHERE `theme_purchased`='1' AND `theme_compiled`='0'" | while read theme_name guid; do
    # use $theme_name and $guid variables
    echo "theme: $theme_name, guid: $guid"
done

ve zkratce:mysql příkaz vypíše záznam oddělený '\n' a pole oddělená '\t', když je výstup roura. read příkaz přečte řádek, rozdělí na pole a každé vloží do proměnné.

pokud vaše data mají v polích mezery, máte problémy s výchozím read štěpení. existuje několik způsobů, jak to obejít; ale pokud čtete pouze dvě pole a jedno z nich by nemělo mít žádné mezery (jako guid ), pak můžete pole 'dangerous' umístit na konec a read vloží vše 'extra' do poslední proměnné.

takhle:

mysql -e "SELECT `guid` `theme_name`, FROM `themes` WHERE `theme_purchased`='1' AND `theme_compiled`='0'" | while read guid theme_name; do
    # use $theme_name and $guid variables
    echo "theme: $theme_name, guid: $guid"
done


  1. CLR Strict Security na SQL Server 2017

  2. Vytvořte úlohu serveru SQL Server automaticky

  3. Jak propojit databázi mysql s Dartem?

  4. Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?