mysql
  • bash
  • 2009-07-05 48 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

    相關問題