接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势
在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程
基本语法
insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp当measurement不存在的时候,我们插入一条数据时,就会创建这个measurement
下面给出一个简单的实例
insert add_test,name=YiHui,phone=110 user_id=20,email="bangzewu@126.com"新增一条数据,measurement为add_test, tag为name,phone, field为user_id,email > show measurements name: measurements name ---- yhh > insert add_test,name=YiHui,phone=110 user_id=20,email="bangzewu@126.com" > show measurements; name: measurements name ---- add_test yhh > select * from add_test name: add_test time email name phone user_id ---- ----- ---- ----- ------- 1564149327925320596 bangzewu@126.com YiHui 110 20 > show tag keys from add_test; name: add_test tagKey ------ name phone > show field keys from add_test; name: add_test fieldKey fieldType -------- --------- email string user_id float从上面的输出,简单小结一下插入的语句写法
insert + measurement + "," + tag=value,tag=value + ` +field=value,field=value`tag与tag之间用逗号分隔;field与field之间用逗号分隔tag与field之间用空格分隔tag都是string类型,不需要引号将value包裹field如果是string类型,需要加引号我们知道field有四种类型,int, float, string, boolean,下面看一下插入数据时,四种类型如何处理
> insert add_test,name=YiHui,phone=110 user_id=21,email="bangzewu@126.com",age=18i,boy=true > show field keys from add_test name: add_test fieldKey fieldType -------- --------- age integer boy boolean email string user_id float小结一下四种类型的指定方式
类型方式示例float数字user_id=21int数字iage=18ibooleantrue/falseboy=trueString"" or ''email="bangzewu@126.com"当写入数据不指定时间时,会自动用当前时间来补齐,如果需要自己指定时间时,再最后面添加上即可,注意时间为ns
> insert add_test,name=YiHui,phone=110 user_id=22,email="bangzewu@126.com",age=18i,boy=true 1564150279123000000 > select * from add_test; name: add_test time age boy email name phone user_id ---- --- --- ----- ---- ----- ------- 1564149327925320596 bangzewu@126.com YiHui 110 20 1564149920283253824 18 true bangzewu@126.com YiHui 110 21 1564150279123000000 18 true bangzewu@126.com YiHui 110 22前面写入数据没有指定保存策略,表示这条数据写入到默认的保存策略中;我们知道一个数据库可以有多个保存策略,一个measurement中也可以存不同的保存策略的数据,在写入数据时,如果需要指定保存策略,可以使用 insert into 保存策略 ...
> show retention policies on test name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 true 1_d 24h0m0s 1h0m0s 1 false 1_h 1h0m0s 1h0m0s 1 false > insert into "1_d" add_test,name=YiHui2,phone=911 user_id=23,email="bangzewu@126.com",age=18i,boy=true 1564150279123000000 > select * from add_test; name: add_test time age boy email name phone user_id ---- --- --- ----- ---- ----- ------- 1564149327925320596 bangzewu@126.com YiHui 110 20 1564149920283253824 18 true bangzewu@126.com YiHui 110 21 1564150279123000000 18 true bangzewu@126.com YiHui 110 22 > select * from "1_d".add_test; name: add_test time age boy email name phone user_id ---- --- --- ----- ---- ----- ------- 1564150279123000000 18 true bangzewu@126.com YiHui2 911 23参考博文
https://docs.influxdata.com/influxdb/v1.7/concepts/glossaryhttps://docs.influxdata.com/influxdb/v1.7/query_language/schema_explorationhttps://docs.influxdata.com/influxdb/v1.7/tools/shell/#write-data-to-influxdb-with-insert一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
微博地址: 小灰灰BlogQQ: 一灰灰/3302797840一灰灰blog
转载于:https://www.cnblogs.com/yihuihui/p/11386683.html
相关资源:JAVA上百实例源码以及开源项目