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