Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vòng lặp tập lệnh Bash thông qua MySQL

một cái gì đó như:

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

trong ngắn hạn:mysql lệnh xuất bản ghi được phân tách bằng '\ n' và các trường được phân tách bằng '\ t' khi đầu ra là một đường ống. read lệnh đọc một dòng, phân chia trong các trường và đặt mỗi trường vào một biến.

nếu dữ liệu của bạn có khoảng trắng trong các trường, bạn sẽ gặp một số vấn đề với read mặc định sự chia cắt. có một số cách xung quanh nó; nhưng nếu bạn chỉ đọc hai trường và một trong số chúng không được có bất kỳ khoảng trắng nào (như guid ), sau đó bạn có thể đặt trường 'nguy hiểm' ở cuối và read sẽ đặt mọi thứ 'bổ sung' vào biến cuối cùng.

như thế này:

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. Có cả cột dấu thời gian được tạo và cập nhật lần cuối trong MySQL 4.0

  2. Chuỗi đến dấu thời gian trong MySQL

  3. Truy vấn để tìm và xóa dữ liệu trùng lặp khỏi bảng MYSql

  4. Kiểm tra xung đột phạm vi ngày trong MySQL

  5. Chuyển đổi kết quả sql thành danh sách python