数据删除

1. 数据删除

数据删除可以通过 delete 语句来完成,其中可以通过指定标签和时间的过滤条件来删除部分数据。

1.1 语法概览

DELETE FROM <TABLE_NAME> [WHERE_CLAUSE]?

WHERE_CLAUSE:
    WHERE DELETE_CONDITION

DELETE_CONDITION:
    SINGLE_CONDITION
    | DELETE_CONDITION AND DELETE_CONDITION
    | DELETE_CONDITION OR DELETE_CONDITION

SINGLE_CODITION:
    TIME_CONDITION | ID_CONDITION

TIME_CONDITION:
    time TIME_OPERATOR LONG_LITERAL

TIME_OPERATOR:
    < | > | <= | >= | =

ID_CONDITION:
    identifier = STRING_LITERAL
  • 当前仅支持时间条件和标签条件,条件之间仅可使用 AND 和 OR 运算符连接。
  • 对于时间条件,支持 >、<、=、<=、>= 五种运算符。
  • 对于标签条件,目前仅支持 = 运算符。

1.2 示例

可以在示例数据页面中导入示例数据。可以使用这些数据来测试和执行示例中的SQL语句。

1.2.1 删除全表数据

# 全表删除
DELETE FROM table1

1.2.2 删除一段时间范围

# 单时间段删除
DELETE FROM table1 WHERE time <= 2024-11-29 00:00:00

# 多时间段删除
DELETE FROM table1  WHERE time >= 2024-11-27 00:00:00  and time <= 2024-11-29 00:00:00

1.2.3 删除指定设备

# 删除指定设备
# 标识条件只支持 = 运算符
DELETE FROM table1 WHERE device_id='101' and model_id = 'B'

# 删除指定设备的时间段
DELETE FROM table1 
    WHERE time >= 2024-11-27 16:39:00  and time <= 2024-11-29 16:42:00 
    AND device_id='101' and model_id = 'B'

# 删除指定类型的设备
DELETE FROM table1 WHERE model_id = 'B'

2. 设备删除

设备删除语句支持删除表里所有设备及相关数据。

2.1 语法概览

DELETE DEVICES FROM tableName=qualifiedName (WHERE booleanExpression)?
  • WHERE 仅支持对标签的等值过滤,条件之间仅可使用 AND 和 OR 运算符连接,不支持时间条件。

2.2 示例

DELETE DEVICES FROM table1 WHERE device_id = '101'