前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Influx Sql系列教程五:insert 添加数据

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

作者头像
一灰灰blog
发布2019-08-21 11:04:16
1.1K0
发布2019-08-21 11:04:16
举报
文章被收录于专栏:小灰灰小灰灰小灰灰

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

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

<!-- more -->

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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • I. Insert 使用说明
    • 1. 基本写数据姿势
      • a. 基本case
      • b. field类型
      • c. 时间戳指定
    • 2. 指定保存策略插入数据
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档