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−ロードと更新の間にレコードをロックする方法を指定します。指定するオプションが2つありますDefault そして Record。
UPSERT−レコードが存在する場合は更新し、存在しない場合は新しいレコードを挿入します。これは、2つのクエリを実行する代わりに1つのクエリを実行するのに役立ちます。
RETURN −レコード数の代わりに、返す式を指定します。
LIMIT −更新するレコードの最大数を定義します。
TIMEOUT −タイムアウトする前に更新の実行を許可する時間を定義します。
例
前の章で使用したのと同じCustomerテーブルについて考えてみましょう。
シニア番号 | 名前 | 年齢 |
---|---|---|
1 | サティッシュ | 25 |
2 | クリシュナ | 26 |
3 | キラン | 29 |
4 | ジェイブド | 21 |
5 | ラジャ | 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
----+-----+--------+----+-------+----