Dengan DynamoDB API, Anda menggunakan operasi UpdateItem untuk memodifikasi satu item.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET RecordLabel = :label",
ExpressionAttributeValues: {
":label": "Global Records"
}
}
Anda harus menentukan atribut Key item yang akan dimodifikasi dan UpdateExpression untuk menentukan nilai atribut. UpdateItem berperilaku seperti operasi “upsert”. Item diperbarui jika ada di tabel, tetapi jika tidak, item baru ditambahkan (disisipkan).
UpdateItem mendukung tulis bersyarat, di mana operasi hanya berhasil jika ConditionExpression tertentu bernilai true. Misalnya, operasi UpdateItem berikut tidak melakukan pembaruan kecuali jika harga lagu lebih besar dari atau sama dengan 2,00.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET RecordLabel = :label",
ConditionExpression: "Price >= :p",
ExpressionAttributeValues: {
":label": "Global Records",
":p": 2.00
}
}
UpdateItem juga mendukung penghitung atom, atau atribut jenis Number yang dapat ditambahkan atau dikurangi. Penghitung atom serupa dalam banyak hal dengan generator urutan, kolom identitas, atau bidang penambahan otomatis dalam basis data SQL.
Berikut ini adalah contoh operasi UpdateItem untuk menginisialisasi atribut baru (Play) untuk melacak berapa kali lagu telah diputar.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET Plays = :val",
ExpressionAttributeValues: {
":val": 0
},
ReturnValues: "UPDATED_NEW"
}
Parameter ReturnValues diatur ke UPDATED_NEW, yang mengembalikan nilai-nilai baru dari setiap atribut yang diperbarui. Dalam hal ini, parameter mengembalikan 0 (nol).
Setiap kali seseorang memutar lagu ini, kita dapat menggunakan operasi UpdateItem berikut untuk menambahkan Play sebanyak satu.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET Plays = Plays + :incr",
ExpressionAttributeValues: {
":incr": 1
},
ReturnValues: "UPDATED_NEW"
}
Dengan PartiQL, Anda menggunakan operasi ExecuteStatement untuk memodifikasi item pada tabel, menggunakan pernyataan Update PartiQL.
Kunci utama untuk tabel ini terdiri dari Artis dan SongTitle. Anda harus menentukan nilai untuk atribut ini.
UPDATE Music
SET RecordLabel ='Global Records'
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'
Anda juga dapat memodifikasi beberapa bidang sekaligus, seperti pada contoh berikut.
UPDATE Music
SET RecordLabel = 'Global Records'
SET AwardsWon = 10
WHERE Artist ='No One You Know' AND SongTitle='Call Me Today'
Update juga mendukung penghitung atom, atau atribut jenis Number yang dapat ditambahkan atau dikurangi. Penghitung atom serupa dalam banyak hal dengan generator urutan, kolom identitas, atau bidang penambahan otomatis dalam basis data SQL.
Berikut ini adalah contoh pernyataan Update untuk menginisialisasi atribut baru (Play) untuk melacak berapa kali lagu telah diputar.
UPDATE Music
SET Plays = 0
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'
Setiap kali seseorang memutar lagu ini, kita dapat menggunakan pernyataan Update berikut untuk menambahkan Play sebanyak satu.
UPDATE Music
SET Plays = Plays + 1
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'