0
点赞
收藏
分享

微信扫一扫

TDengine 2.6 delete 删除功能尝鲜

_铁马冰河_ 2022-06-22 阅读 71

时序数据库(Time Series Database)TDengine 发布了新的 2.6 版本,除了增加一堆的函数外,还新增了delete 功能。

官网:​​TDengine 2.6 正式发布,新增大量计算函数​​

下面就测试一下 delete 功能:

1.普通表

1.1.删除指定数据

delete from TABLE_NAME where ...
taos> select * from d1 limit 10;
ts | current | voltage | phase |
======================================================================================
2017-07-14 10:40:00.000 | 9.64414 | 116 | 0.32968 |
2017-07-14 10:40:00.001 | 10.53412 | 118 | 0.34091 |
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 |
Query OK, 10 row(s) in set (0.005936s)

taos> select count(*) from d1;
count(*) |
========================
10000 |
Query OK, 1 row(s) in set (0.007780s)

taos> delete from d1 where ts='2017-07-14 10:40:00.000';
Deleted 1 row(s) from 1 table(s) (0.320743s)

taos> select * from d1 limit 10;
ts | current | voltage | phase |
======================================================================================
2017-07-14 10:40:00.001 | 10.53412 | 118 | 0.34091 |
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 |
Query OK, 10 row(s) in set (0.001714s)

taos> select count(*) from d1;
count(*) |
========================
9999 |
Query OK, 1 row(s) in set (0.001165s)

1.2.删除一定时间范围数据

delete from TABLE_NAME where ...
taos> select * from d1 limit 10;
ts | current | voltage | phase |
======================================================================================
2017-07-14 10:40:00.001 | 10.53412 | 118 | 0.34091 |
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 |
Query OK, 10 row(s) in set (0.001714s)

taos> select count(*) from d1;
count(*) |
========================
9999 |
Query OK, 1 row(s) in set (0.001165s)

taos> delete from d1 where ts<'2017-07-14 10:40:00.010';
Deleted 9 row(s) from 1 table(s) (0.014839s)

taos> select * from d1 limit 10;
ts | current | voltage | phase |
======================================================================================
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 |
2017-07-14 10:40:00.011 | 10.39828 | 114 | 0.32447 |
2017-07-14 10:40:00.012 | 10.90528 | 111 | 0.34570 |
2017-07-14 10:40:00.013 | 10.13413 | 110 | 0.32039 |
2017-07-14 10:40:00.014 | 10.56465 | 115 | 0.33660 |
2017-07-14 10:40:00.015 | 10.17181 | 113 | 0.31745 |
2017-07-14 10:40:00.016 | 8.85922 | 115 | 0.34254 |
2017-07-14 10:40:00.017 | 9.81093 | 116 | 0.34115 |
2017-07-14 10:40:00.018 | 9.19983 | 110 | 0.33788 |
2017-07-14 10:40:00.019 | 9.84544 | 110 | 0.33109 |
Query OK, 10 row(s) in set (0.001675s)

taos> select count(*) from d1;
count(*) |
========================
9990 |
Query OK, 1 row(s) in set (0.001752s)

1.3.删除表中所有数据

类似于MySQL 的 trancate

delete from TABLE_NAME
taos> select count(*) from d1;
count(*) |
========================
9990 |
Query OK, 1 row(s) in set (0.001752s)

taos> delete from d1;
Deleted 9990 row(s) from 1 table(s) (0.014531s)

taos> select count(*) from d1;
Query OK, 0 row(s) in set (0.001329s)

taos> select * from d1;
Query OK, 0 row(s) in set (0.003151s)

2.超级表

超级表操作与普通表类似,只是会作用于超级表下所有子表。

2.1.删除指定数据

可以指定过滤条件,删除超级表下某个子表的具体数据。

taos> select *,tbname,groupid,location from meters limit 10;
ts | current | voltage | phase | groupid | location | tbname | groupid | location |
=========================================================================================================================================================================================
2017-07-14 10:40:00.001 | 10.53412 | 118 | 0.34091 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 | 3 | San Diego | d1250 | 3 | San Diego |
Query OK, 10 row(s) in set (0.008032s)

taos> delete from meters where ts='2017-07-14 10:40:00.001' and tbname like 'd1250';
Deleted 1 row(s) from 1 table(s) (0.059271s)

taos> select *,tbname,groupid,location from meters where tbname like 'd1250' limit 10;
ts | current | voltage | phase | groupid | location | tbname | groupid | location |
=========================================================================================================================================================================================
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 | 3 | San Diego | d1250 | 3 | San Diego |
2017-07-14 10:40:00.011 | 10.39828 | 114 | 0.32447 | 3 | San Diego | d1250 | 3 | San Diego |
Query OK, 10 row(s) in set (0.006415s)

2.1.删除一定时间范围数据

不加过滤条件,即作用于所有子表。

taos> select * from meters limit 10;
ts | current | voltage | phase | groupid | location |
=======================================================================================================================
2017-07-14 10:40:00.001 | 10.53412 | 118 | 0.34091 | 4 | Palo Alto |
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 | 4 | Palo Alto |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 | 4 | Palo Alto |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 | 4 | Palo Alto |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 | 4 | Palo Alto |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 | 4 | Palo Alto |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 | 4 | Palo Alto |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 | 4 | Palo Alto |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 | 4 | Palo Alto |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 | 4 | Palo Alto |
Query OK, 10 row(s) in set (0.012943s)

taos> delete from meters where ts<'2017-07-14 10:40:00.002';
Deleted 9998 row(s) from 9998 table(s) (3.530238s)

taos> select * from meters limit 10;
ts | current | voltage | phase | groupid | location |
=======================================================================================================================
2017-07-14 10:40:00.002 | 9.06172 | 117 | 0.32554 | 3 | San Diego |
2017-07-14 10:40:00.003 | 10.94048 | 112 | 0.32000 | 3 | San Diego |
2017-07-14 10:40:00.004 | 9.89514 | 110 | 0.34429 | 3 | San Diego |
2017-07-14 10:40:00.005 | 9.43478 | 112 | 0.31850 | 3 | San Diego |
2017-07-14 10:40:00.006 | 10.26154 | 117 | 0.33445 | 3 | San Diego |
2017-07-14 10:40:00.007 | 9.83053 | 115 | 0.34169 | 3 | San Diego |
2017-07-14 10:40:00.008 | 10.29364 | 116 | 0.34343 | 3 | San Diego |
2017-07-14 10:40:00.009 | 10.54574 | 119 | 0.32031 | 3 | San Diego |
2017-07-14 10:40:00.010 | 9.92644 | 111 | 0.34123 | 3 | San Diego |
2017-07-14 10:40:00.011 | 10.39828 | 114 | 0.32447 | 3 | San Diego |
Query OK, 10 row(s) in set (0.014806s)

2.3.删除超级表中所有数据

类似于 trancate ,数据被删除,但是表结构都保留了。

taos> select count(*) from meters;
count(*) |
========================
99970002 |
Query OK, 1 row(s) in set (0.042288s)

taos> select count(tbname) from meters;
count(tbname) |
========================
10000 |
Query OK, 1 row(s) in set (0.015141s)

taos> delete from meters;
Deleted 99970002 row(s) from 9999 table(s) (0.117903s)

taos> select count(*) from meters;
Query OK, 0 row(s) in set (0.014915s)

taos> select count(tbname) from meters;
count(tbname) |
========================
10000 |
Query OK, 1 row(s) in set (0.012060s)


举报

相关推荐

0 条评论