OrientDB 更新记录
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-指定如何在加载和更新之间锁定记录。我们有两个选项可以指定
Default 和
Record。
UPSERT-如果记录存在则更新记录,如果不存在则插入新记录。它有助于执行单个查询而不是执行两个查询。
RETURN-指定要返回的表达式而不是记录数。
LIMIT-定义要更新的最大记录数。
TIMEOUT-定义您希望允许更新在超时之前运行的时间。
示例
让我们考虑一下我们在前一章中使用的相同的 Customer 表。
姓名 |
年龄 |
Satish |
25 |
Krishna |
26 |
Kiran |
29 |
Javeed |
21 |
Raja |
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
----+-----+--------+----+-------+----