Orientdb 简明教程

OrientDB - Update Record

Update Record 命令用来修改某个特定记录的值。SET 是更新某个特定字段值的基本命令。

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

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 - 定义要更新的字段。

INCREMENT - 通过给定值递增指定字段值。

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

REMOVE - 从集合字段中移除一项。

PUT - 向映射字段中输入一项。

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

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

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

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

RETURN − 指定要在记录数量中返回的表达式。

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

TIMEOUT − 定义在超时前允许更新运行的时间。

Example

让我们考虑我们在上一章中使用的相同的客户表。

Sr.No.

Name

Age

1

Satish

25

2

Krishna

26

3

Kiran

29

4

Javeed

21

5

Raja

29

尝试使用以下查询以更新名为“Raja”的客户的年龄。

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

如果成功执行了以上查询,您会获得以下输出。

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

要检查客户表中的记录,可以使用以下查询。

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
----+-----+--------+----+-------+----