OrientDB - 更新记录


更新记录命令用于修改特定记录的值。SET 是更新特定字段值的基本命令。

以下语句是Update命令的基本语法。

UPDATE <class>|cluster:<cluster>|<recordID> 
   [SET|INCREMENT|ADD|REMOVE|PUT <field-name> = <field-value>[,]*] |[CONTENT| MERGE <JSON>] 
   [UPSERT] 
   [RETURN <returning> [<returning-expression>]] 
   [WHERE <conditions>] 
   [LOCK default|record] 
   [LIMIT <max-records>] [TIMEOUT <timeout>] 

以下是有关上述语法中的选项的详细信息。

SET - 定义要更新的字段。

INCRMENT - 将指定字段值增加给定值。

ADD - 在集合字段中添加新项目。

REMOVE - 从集合字段中删除项目。

PUT - 将条目放入地图字段中。

CONTENT - 用 JSON 文档内容替换记录内容。

MERGE - 将记录内容与 JSON 文档合并。

LOCK - 指定如何在加载和更新之间锁定记录。我们有两个选项来指定DefaultRecord

UPSERT - 如果存在则更新记录,如果不存在则插入新记录。它有助于执行单个查询而不是执行两个查询。

RETURN - 指定要返回的表达式而不是记录数。

LIMIT - 定义要更新的最大记录数。

TIMEOUT - 定义您希望允许更新在超时之前运行的时间。

例子

让我们考虑一下我们在前一章中使用的同一个 Customer 表。

先生。姓名年龄
1萨蒂什25
2克里希纳26
3基兰29
4贾维德21
5拉贾29

尝试以下查询来更新客户“Raja”的年龄。

Orientdb {db = demo}> UPDATE Customer SET age = 28 WHERE name = 'Raja'

如果上述查询执行成功,您将得到以下输出。

Updated 1 record(s) in 0.008000 sec(s).

要检查 Customer 表的记录,可以使用以下查询。

orientdb {db = demo}> SELECT FROM Customer 

如果上述查询执行成功,您将得到以下输出。

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
2   |#11:2|Customer|3   |kiran  |29 
3   |#11:3|Customer|4   |javeed |21 
4   |#11:4|Customer|5   |raja   |28   
----+-----+--------+----+-------+----