久しぶりにInfluxDBを触って、色々と忘れていたので操作方法を書き残しておくことにします。
MEASUREMENTSの検索
show MEASUREMENTS
- 一般的なDBのテーブル一覧に相当します。
- InfluxDBは、テーブル定義などしなくてもデータをアップロードしていけば勝手にテーブルが作られていきます。
- 下記サンプルでは、battery(蓄電池)、co2(CO2濃度)、humidity(湿度)、power(瞬時電力)、pressure(気圧)、tank(電気温水器のタンク)、temp(気温)、watt_hour(積算電力量)がリストアップされています。
レコードの検索
select * <MEASUREMENT名> where <絞り込み条件>
- 一般的なDBとほぼ同じ。
- timeはUTCとなる点は注意。また、未来の時刻を指定した場合(登録されていても)データは表示されないようです。
- 下記サンプルは、power(瞬時電力)の2021/4/12午後5時以降のデータを検索したものです。(UTCなので8:00:00と指定しています)
レコードの削除
drop series from <MEASUREMENT名> where <絞り込み条件(tag条件のみ)>
delete from <MEASUREMENT名> where <絞り込み条件(tag条件とtime条件)>
- 「delete」と「drop」の2種類があります。(「drop」は絞り込み条件にtimeが使えないので、deleteの方が汎用的と思います)
- 下記サンプルはdropの例ですが、temp(気温)にゴミ(targetタグが「192.168.1.11」)が残っていたので、削除したものです。
↓
レコードの登録(追加)
<MEASUREMENT名>,<タグ名>=<タグ値> value=<値> <時刻>
- 「Write Data」というリンクから、ダイアログがポップアップされます。
- 時刻は、いわゆるunixtime。ただし、UTCでns単位となっています。
- 登録と更新で違いはなく、同じ条件(タグ、時刻)で「Send Data」します。
- 下記サンプルは、2021-04-13T02:45:00Zの時刻に値「100」を登録したものです。
↓