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

Influx Sql系列教程七:delete 删除数据

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

前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据

<!-- more -->

1. delete 语句

delete的官方语法如下

代码语言:javascript
复制
DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>]

delete语句和我们常见sql语法有点像,但是注意一下上面的where中的条件,只允许根据tag和时间来进行删除操作

下面给出几个简单的例子

case1 根据时间删除

代码语言:javascript
复制
> select * from add_test
name: add_test
time                age boy  email            name  phone user_id
----                --- ---  -----            ----  ----- -------
1564149327925320596 19  true bangzewu@126.com YiHui 110   0
1564149920283253824 18  true bangzewu@126.com YiHui 110   21
1564150279123000000 18  true bangzewu@126.com YiHui 110   22
> delete from add_test where time>=1564150279123000000
> select * from add_test
name: add_test
time                age boy  email            name  phone user_id
----                --- ---  -----            ----  ----- -------
1564149327925320596 19  true bangzewu@126.com YiHui 110   0
1564149920283253824 18  true bangzewu@126.com YiHui 110   21

case2 根据tag删除

注意name为保留名,因此需要用双引号括起来

代码语言:javascript
复制
> show tag keys from add_test
name: add_test
tagKey
------
name
phone
> delete from add_test where "name"='YiHui'
> select * from add_test
>

2. 不同保存策略的数据删除

从前面的语法定义中,没有看到指定保留策略的情况,那么如果需要删除某个保存策略的数据,应该怎样?

代码语言:javascript
复制
> insert add_test,name=YiHui,phone=110 boy=true,age=19i,user_id=2
> insert into "1D" add_test,name=YiHui,phone=110 boy=true,age=19i,user_id=1
> select * from add_test
name: add_test
time                age boy  name  phone user_id
----                --- ---  ----  ----- -------
1564483471390538399 19  true YiHui 110   2
> select * from "1D".add_test
name: add_test
time                age boy  name  phone user_id
----                --- ---  ----  ----- -------
1564483483748916258 19  true YiHui 110   1

> delete from add_test where "name"='YiHui'
> select * from add_test
> select * from "1D".add_test
> 

执行上面的case之后,发现根据tag进行删除时,默认策略,和"1D"保存策略中的数据都被删除掉了

下面是另外一个验证

代码语言:javascript
复制
> select * from add_test;
name: add_test
time                age boy  name  phone user_id
----                --- ---  ----  ----- -------
1564483778197609864 19  true YiHui 110   1
> insert into "2_h"  add_test,name=YiHui,phone=110 boy=true,age=19i,user_id=1
> select * from "2_h".add_test;
name: add_test
time                age boy  name  phone user_id
----                --- ---  ----  ----- -------
1564483793280811751 19  true YiHui 110   1
> delete from add_test where time=1564483793280811751
> select * from "2_h".add_test;
> select * from add_test;
name: add_test
time                age boy  name  phone user_id
----                --- ---  ----  ----- -------
1564483778197609864 19  true YiHui 110   1

我们在"2_h"这个策略中新增了一条数据,直接根据时间进行删除,当前的策略下的数据没有影响,"2_h"策略中刚添加的数据被删除掉了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. delete 语句
  • 2. 不同保存策略的数据删除
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档