更新记录命令用于修改特定记录的值。 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
- 定义要更新的字段。INCREMENT
- 将指定的字段值增加给定的值。ADD
- 在收集字段中添加新项目。REMOVE
- 从收集字段中移除一个项目。PUT
- 在地图字段中输入条目。CONTENT
- 用JSON文档内容替换记录内容。MERGE
- 将记录内容与JSON文档合并。LOCK
- 指定如何锁定加载和更新之间的记录。有两个选项来指定默认和记录。UPSERT
- 如果存在记录,则更新记录;如果不存在,则插入新记录。 它有助于在执行两个查询的地方执行单个查询。RETURN
- 指定要返回的表达式而不是记录数。LIMIT
- 定义要更新的最大记录数。TIMEOUT
- 定义在超时之前允许更新运行的时间。
示例
让我们考虑一下在前一章中使用的Customer
表。
编号 | 名字 | 年龄 |
---|---|---|
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).
要检查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
----+-----+--------+----+-------+----