命令 - DELETE

删除数据库中1条或多条记录,使用WHERE语句决定删除的记录。

语法

DELETE FROM <target-name> [LOCK <lock-type>] [RETURN <return-type>]
  [WHERE <condition>*] [LIMIT <MaxRecords>] [TIMEOUT <timeout-value>]
  • <target-name> 删除的目标:
    • <class-name> 类.
    • CLUSTER:<cluster-name> 簇.
    • INDEX:<index-name> 索引
  • LOCK <lock-type> 定义加载和删除时使用的锁类型,包括两种:
    • DEFAULT 无锁的操作。并发删除的情况下,MVCC会抛出异常。
    • RECORD 删除期间锁住记录。
  • RETURN <return-type> 定义返回类型。支持两种:
    • COUNT 返回删除记录的数量。默认的返回类型。
    • BEFORE 返回删除的记录。
  • WHERE <condition> 定义删除时使用的查询条件。
  • LIMIT 定义删除的最大记录。
  • TIMEOUT 定义操作的运行时间限制。

注意: 处理顶点和边时,不要使用标准的SQL DELETE命令。这会破坏图的一致性。应该使用DELETE VERTEXDELETE EDGE

例子

  orientdb> DELETE FROM Profile WHERE surname.toLowerCase() = 'unknown'