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

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

前面介绍了使用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"策略中刚添加的数据被删除掉了



相关文章
|
2月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
3月前
|
SQL 数据管理 数据库
SQL语句实例教程:掌握数据查询、更新与管理的关键技巧
SQL(Structured Query Language,结构化查询语言)是数据库管理和操作的核心工具
|
4月前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
在Web开发中,安全至关重要,尤其要警惕SQL注入和XSS攻击。SQL注入通过在数据库查询中插入恶意代码来窃取或篡改数据,而XSS攻击则通过注入恶意脚本来窃取用户敏感信息。本文将带你深入了解这两种威胁,并提供Python实战技巧,包括使用参数化查询和ORM框架防御SQL注入,以及利用模板引擎自动转义和内容安全策略(CSP)防范XSS攻击。通过掌握这些方法,你将能够更加自信地应对Web安全挑战,确保应用程序的安全性。
106 3
|
3月前
|
SQL 存储 数据库
使用SQL_语句创建,使用,删除第一个数据库
使用SQL_语句创建,使用,删除第一个数据库
13 0
|
4月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
75 1
|
5月前
|
SQL 安全 关系型数据库
关系型数据库SQL server DELETE 语句
【8月更文挑战第3天】
130 10
|
6月前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
62 1
|
6月前
|
SQL 索引
SQL DELETE 实例
【7月更文挑战第13天】SQL DELETE 实例。
57 6
|
6月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
425 3
|
6月前
|
SQL 数据库
SQL DELETE 语句
【7月更文挑战第13天】SQL DELETE 语句。
48 5