Orientdb-update-record

提供:Dev Guides
移動先:案内検索

OrientDB-レコードの更新

*Update Record* コマンドは、特定のレコードの値を変更するために使用されます。 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* -ロードと更新の間でレコードをロックする方法を指定します。 *Default* と *Record* を指定する2つのオプションがあります。
*UPSERT* -レコードが存在する場合は更新し、存在しない場合は新しいレコードを挿入します。 2つのクエリを実行する代わりに、単一のクエリを実行するのに役立ちます。
*RETURN* -レコード数の代わりに返す式を指定します。
*LIMIT* -更新するレコードの最大数を定義します。
*TIMEOUT* -タイムアウトする前に更新の実行を許可する時間を定義します。

前の章で使用したのと同じCustomerテーブルを考えてみましょう。

Sr.No. Name Age
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
----+-----+--------+----+-------+----