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

文章目录
  1. 1. delete 语句
  2. 2. 不同保存策略的数据删除
  • II. 其他
    1. 0. 系列博文
    2. 1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
    3. 2. 声明
    4. 3. 扫描关注
  • 前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据

    1. delete 语句

    delete的官方语法如下

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

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

    下面给出几个简单的例子

    case1 根据时间删除

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    > 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为保留名,因此需要用双引号括起来

    1
    2
    3
    4
    5
    6
    7
    8
    9
    > show tag keys from add_test
    name: add_test
    tagKey
    ------
    name
    phone
    > delete from add_test where "name"='YiHui'
    > select * from add_test
    >

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    > 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”保存策略中的数据都被删除掉了

    下面是另外一个验证

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    > 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

    QrCode

    知识星球

    goals

    评论

    Your browser is out-of-date!

    Update your browser to view this website correctly. Update my browser now

    ×