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