zoukankan      html  css  js  c++  java
  • shell脚本循环执行mysql语句

    参考资料:Shell脚本中执行mysql语句

    需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分。

    解决方法

    1)、写个sql文件test.sql:use movie_recommendation;select distinct movie_id from T_user_movie_rating_map;

    2)、在终端输入mysql -uroot -p123456 -e < test.sql > movie_id.txt

      这样就会获得电影id的列表,然后编辑该文件把第一行的movie_id这个字符串删掉

    3)、然后编辑如下shell脚本rating.sh:

     1 #!/bin/bash
     2 
     3 for line in $(cat movie_id.txt)
     4 do
     5     result=$(mysql -uroot -p123456 -e "use movie_recommendation;select avg(rating) from T_user_movie_rating_map where movie_id=$line")
     6     tmp=$(echo $result | sed 's/ /
    /g')
     7     for tmp_line in $tmp
     8     do
     9         result=$tmp_line
    10     done
    11     echo $line:$result
    12     echo $line,$result >> rating.txt
    13 done

    4)、在终端输入. ./rating.sh即可将电影id和电影对应的评分写入到指定文件夹下

    说明:中间对result这个结果进行了处理,是因为查询数据库获得的结果有标题,需要去掉这个标题

  • 相关阅读:
    CodeForces 450
    CodeForces 400
    CodeForces 1
    [HDU POJ] 逆序数
    [HDU 1166] 敌兵布阵
    [转] 树状数组学习
    关于1月4日到1月7日
    [HDU 1565+1569] 方格取数
    [POJ 1459] Power Network
    [转] 网络流算法--Ford-Fulkerson方法及其多种实现
  • 原文地址:https://www.cnblogs.com/Shirlies/p/4561780.html
Copyright © 2011-2022 走看看