mysql
  • bash
  • 2009-07-05 116 views 42 likes 
    42

    我知道一个人如何可以从bash中执行的MySQL查询/命令:如何从bash执行MySQL查询时获取受影响的行数?

    mysql -u[user] -p[pass] -e "[mysql commands]" 
    

    mysql -u[user] -p[pass] `<<`QUERY_INPUT 
    
    [mysql commands] 
    
    QUERY_INPUT 
    

    我怎样才能捕捉到多少行受到查询?
    我试着这样做:

    variable='`mysql -u[user] -p[pass] -e "[mysql commands]"`' 
    

    它不执行命令,但它不返回受影响的行数。

    回答

    74

    SELECT ROW_COUNT(); 
    

    在你的批次中的最后声明和解析输出

    18

    我可能已经回答了自己的问题,一直在查看参数,并且自动地使用“-v -v -v”作为参数给mysql命令强制它更加冗长,并且吐出受影响的行数。

    +3

    `-vvv`很棒,如果你想了解更多细节,包括查询执行时间。 – Qtax 2014-02-03 16:29:33

    +0

    @Qtax,`-v`和`-vvv`有什么不同? – Pacerier 2015-03-30 05:27:33

    +1

    @Prier,是的,他们是不同的。对于每个`v`你添加你得到更多的详细信息和更多的信息(如查询执行时间等)。 – Qtax 2015-03-30 07:53:33

    3

    不是一个答案,但有用此外,你还可以尝试其他MySQL信息功能(包括ROW_COUNT() )给你你需要的具体信息。 See MySQL reference here

    相关问题