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