更新記錄命令用於修改特定記錄的值。 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
----+-----+--------+----+-------+----