• Influx Sql系列教程三:measurement 表


    在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存很多的数据。虽然可将measurement类比为mysql中的表,但是他们之间的差别也挺明显的

    首先我们先了解一下measurement的几个常用命令,如何查看、新增删除

    1. show measurements

    查看一个数据库中有哪些measurement,属于常规操作了

    • 先确定数据库
    • 执行show measurements 查看当前数据库的所有measurement
    > use test
    Using database test
    > show measurements
    name: measurements
    name
    ----
    yhh
    

    我们也可以在不执行use databaseName的时候,进行查看;而且还支持按名进行匹配,语法为

    SHOW MEASUREMENTS [ON <database_name>] [WITH MEASUREMENT <regular_expression>] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]
    

    下面给出查询指定数据库中,以yhh开头的所有measurement示例

    > show measurements on test
    name: measurements
    name
    ----
    doraemon
    doraemon2
    yhh
    yhh2
    > show measurements on test with measurement =~ /yhh*/
    name: measurements
    name
    ----
    yhh
    yhh2
    

    2. 创建measurement

    在influxdb中没有专门用来创建measurement的命令,在执行向某个measurement新增记录的时候,如果不存在measurement,则会新创建一个

    下面是一条简单的演示case

    # 像userInfo中新增一条记录,如果userInfo这个measurement不存在,则新建一个
    > insert userInfo,name=一灰灰blog userId=10,blog="https://blog.hhui.top/"
    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    userInfo
    yhh
    yhh2
    

    3. 删除measurement

    两种方式,一个是把measurement里面的所有数据都删完,那么这个measurement就没了

    > select * from userInfo
    name: userInfo
    time                blog                   name    userId
    ----                ----                   ----    ------
    1563712849953792293 https://blog.hhui.top/ 一灰灰blog 10
    # 删除userInfo中的记录
    > delete from userInfo where time=1563712849953792293
    # 再次查看,发现userInfo已经被删除
    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    yhh
    yhh2
    >
    

    另外一种方式就是直接使用drop measurement命令实现删除

    # 先创建userInfo
    > insert userInfo,name=一灰灰blog userId=10,blog="https://blog.hhui.top/"
    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    userInfo
    yhh
    yhh2
    # 直接使用drop语句删除
    > drop measurement userInfo
    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    yhh
    yhh2
    >
    

    4. 修改

    不同于mysql中的表,measurement是没有修改操作的,从前面的创建操作也可以看出,对于measurement而言,也就只有一个名字,那如果我希望重命名现有的measurement,该怎么办?

    原则上不建议这么干,如果确实有需要,可以用下面的方式来变相实现

    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    userInfo
    yhh
    yhh2
    # 使用select into语句实现将查询结果保存到另外一个measurement中
    > select * into userBaseInfo from userInfo
    name: result
    time written
    ---- -------
    0    1
    > show measurements
    name: measurements
    name
    ----
    doraemon
    doraemon2
    userBaseInfo
    userInfo
    yhh
    yhh2
    > select * from userBaseInfo, userInfo
    name: userBaseInfo
    time                blog                   name    name_1 userId
    ----                ----                   ----    ------ ------
    1563713690876924095 https://blog.hhui.top/ 一灰灰blog        10
    
    name: userInfo
    time                blog                   name name_1  userId
    ----                ----                   ---- ------  ------
    1563713690876924095 https://blog.hhui.top/      一灰灰blog 10
    >
    

    II. 其他

    0. 系列博文

    参考博文

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

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

    2. 声明

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

    3. 扫描关注

    一灰灰blog
    image

  • 相关阅读:
    关于信号量sem_wait的整理(转)
    WPF版的正则表达式工具开发完成
    F#中的Tuples、函数类型和参数柯里化
    一个WPF版的类Vista的地址栏控件Breadcrumb Bar
    多文档版的的正则表达式工具
    Reactive Extensions for .NET (Rx)
    解决下载的电子书中换行的问题
    WPF下的语法高亮控件——AvalonEdit
    把正则表达式测试工具界面更新为Aero效果的了
    Blend可以支持.net 4.0的工程了
  • 原文地址:https://www.cnblogs.com/yihuihui/p/11386678.html
Copyright © 2020-2023  润新知