Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bash Script Loop Melalui MySQL

sesuatu seperti:

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

singkatnya:mysql perintah output record dipisahkan oleh '\n' dan field dipisahkan oleh '\t' bila outputnya berupa pipa. read perintah membaca baris, membagi bidang, dan menempatkan masing-masing pada variabel.

jika data Anda memiliki spasi di bidang, Anda mendapatkan beberapa masalah dengan default read pemisahan. ada beberapa cara untuk mengatasinya; tetapi jika Anda hanya membaca dua bidang dan salah satunya tidak boleh memiliki spasi (seperti guid ), maka Anda dapat meletakkan bidang 'berbahaya' di bagian akhir, dan read akan menempatkan semua 'ekstra' di variabel terakhir.

seperti ini:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah Data Satu Sel di mysql

  2. Data dari dua tabel dengan nama kolom yang sama

  3. Masalah ukuran unggahan di PHP dan MySql

  4. Sinyal simpanan pos Django dipanggil dua kali meskipun uid

  5. MySQL:Mengembalikan beberapa kolom dari subquery in-line