Bash

在 shell 腳本中獲取 mysql 的 id 計數

  • November 16, 2015

我正在嘗試使用mysql獲取列****user_Idcount(user_Id)的計數,如下所示:

count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

我不明白它有什麼問題。我想要它的數字結果。有什麼可以幫助我的?

你的命令:

count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

可能會獲取如下內容:

+---------------+
| count(userid) |
+---------------+
|             5 |
+---------------+

因為這是mysql查詢的預設輸出。

要禁止標題和列名,您應該包括選項-s(靜默)和-N(跳過列名)

這樣,該mysql命令僅返回5(基於我的輸出)將使用以下方法儲存在變數中:

count=$(mysql -s -N -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

嘗試使用以下命令count在終端中寫入變數的值:

echo "$count"

如果它只返回一個5(同樣,基於我的輸出),您可以將它用作測試表達式和計算中的數值。

引用自:https://unix.stackexchange.com/questions/243304