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

1. delete 语句

delete的官方语法如下

DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>]

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

下面给出几个简单的例子

case1 根据时间删除

> 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为保留名,因此需要用双引号括起来

> show tag keys from add_test
name: add_test
tagKey
------
name
phone
> delete from add_test where "name"='YiHui'
> select * from add_test
>

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

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

> 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"保存策略中的数据都被删除掉了

下面是另外一个验证

> 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"策略中刚添加的数据被删除掉了

II. 其他

0. 系列博文

参考博文

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

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

2. 声明

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

3. 扫描关注

一灰灰blog

Influx Sql系列教程七:delete 删除数据的更多相关文章

  1. Influx Sql系列教程九:query数据查询基本篇二

    前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...

  2. Influx Sql系列教程八:query数据查询基本篇

    前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 ...

  3. Influx Sql系列教程六:insert 修改数据

    在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢? 1 ...

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

    接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...

  5. Influx Sql系列教程三:measurement 表

    在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存 ...

  6. Influx Sql系列教程二:retention policy 保存策略

    retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用 I. 基本操作 1. 创建re ...

  7. Influx Sql系列教程四:series/point/tag/field

    influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集 ...

  8. Influx Sql系列教程零:安装及influx-cli使用姿势介绍

    influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Qu ...

  9. 什么?还在用delete删除数据《死磕MySQL系列 九》

    系列文章 五.如何选择普通索引和唯一索引<死磕MySQL系列 五> 六.五分钟,让你明白MySQL是怎么选择索引<死磕MySQL系列 六> 七.字符串可以这样加索引,你知吗?& ...

随机推荐

  1. Python基础初始之二

    1.格式化的输出 当你遇到这样的需要:字符串中想让某些位置变成动态可传入的,首先考虑用格式化输出 1.格式化输出:% 2. 格式化输出:format 3. 格式化输出:f 2.运算符 3.编码 待续

  2. Vue.js not detected

    安装vue devtools工具,在chrome中一直是灰色,title是Vue.js not detected ① F12关闭开发者模式 ② 刷新 ③ 然后再按F12就好了 网上看到的,居然真的有用 ...

  3. 八.python文件操作

    一,初识文件操作. 引子: 现在这个世界上,如果可以操作文件的所有软件都消失了,比如word,wps等等,此时你的朋友通过qq给你发过来一个文件,文件名是:美女模特空姐护士联系方式.txt,在座的所有 ...

  4. learning java Paths Path

    import java.nio.file.Path; import java.nio.file.Paths; public class PathTest { public static void ma ...

  5. 集成omnibus-ctl 开发一个专业的软件包管理工具

    前边有转发过来自chef 团队的一篇omnibus-ctl 介绍文章,以下尝试进行项目试用 就是简单的集成,没有多少复杂的操作 环境准备 ruby ruby 使用2.6.3 使用 rbenv 安装,可 ...

  6. php保存canvas导出的base64图片

    代码如下: <?php $img='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABxCAYAAABoUdWRAAAAAXNSR0IAr ...

  7. vue-element-admin 实现动态路由(从后台查询出菜单列表绑定)

    1. 在路由实例中保留基础路由 router/index.js中只需要保留基础路由,其他的都删了 2. 获取用户菜单,并保存到Vuex中 stroe/modules/user.js中,有个getInf ...

  8. linux(deepin) 下隐藏firefox标题栏

    1. 右上角菜单 -> 定制 -> 左下角 "标题栏" 取消打钩 2. 如果上面无法解决,在firefox的启动前插入一个环境变量,具体修改 /usr/share/ap ...

  9. 咕泡学院java架构vip课程

    1.wps文档地址 https://docs.qq.com/doc/DRVNLUndvTmFSdEhO 2.百度网盘地址 https://pan.baidu.com/s/1uxaTzJZHKrsw_H ...

  10. vuejs cli3 env配置文件实践指南

    env文件 配置四个环境名字分别 VUE_APP_ENV=dev 只支持:VUE_APP_ 开头,比如设置其它变量 VUE_APP_NAME=stark package.json 配置 方式 &quo ...