美文网首页JAVA随笔码农日历
Influx Sql系列教程五:insert 添加数据

Influx Sql系列教程五:insert 添加数据

作者: 一灰灰blog | 来源:发表于2019-08-20 22:23 被阅读0次

    接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势

    在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程

    I. Insert 使用说明

    基本语法

    insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp
    

    1. 基本写数据姿势

    当measurement不存在的时候,我们插入一条数据时,就会创建这个measurement

    a. 基本case

    下面给出一个简单的实例

    • 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类型,需要加引号

    b. field类型

    我们知道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=21
    int 数字i age=18i
    boolean true/false boy=true
    String "" or '' email="bangzewu@126.com"

    c. 时间戳指定

    当写入数据不指定时间时,会自动用当前时间来补齐,如果需要自己指定时间时,再最后面添加上即可,注意时间为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
    

    2. 指定保存策略插入数据

    前面写入数据没有指定保存策略,表示这条数据写入到默认的保存策略中;我们知道一个数据库可以有多个保存策略,一个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
    

    II. 其他

    0. 系列博文

    参考博文

    1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

    一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

    2. 声明

    尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

    3. 扫描关注

    一灰灰blog

    image

    相关文章

      网友评论

        本文标题:Influx Sql系列教程五:insert 添加数据

        本文链接:https://www.haomeiwen.com/subject/kaomsctx.html