本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從資料表刪除資料時,關聯式 (SQL) 資料庫與 DynamoDB 之間的差異
在 中SQL,DELETE
陳述式會從資料表中移除一或多個資料列。Amazon DynamoDB 會使用 DeleteItem
操作一次刪除一個項目。
使用 從資料表刪除資料 SQL
在 中SQL,您可以使用 DELETE
陳述式來刪除一或多個資料列。WHERE
子句則可決定您想要修改的資料列。以下是範例。
DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';
您可修改 WHERE
子句來刪除多個資料列。例如,您可以刪除特定演出者的所有歌曲,如下所示。
DELETE FROM Music WHERE Artist = 'The Acme Band'
從 DynamoDB 中的資料表刪除資料
在 DynamoDB 中,您可以使用 DynamoDB API或 PartiQL (一種 SQL相容的查詢語言) 來刪除單一項目。如果您想要修改多個項目,則必須使用多個操作。
- DynamoDB API
-
使用 DynamoDB 時API,您可以使用 DeleteItem
操作從資料表中刪除資料,一次一個項目。您必須指定項目的主索引鍵值。
{
TableName: "Music",
Key: {
Artist: "The Acme Band",
SongTitle: "Look Out, World"
}
}
除了 DeleteItem
之外,Amazon DynamoDB 還支援 BatchWriteItem
操作,可讓您同時刪除多個項目。
DeleteItem
支援條件式寫入,即只有在特定 ConditionExpression
評估為 true 時,操作才會成功。例如,下列DeleteItem
操作只會在項目具有 RecordLabel 屬性時刪除項目。
{
TableName: "Music",
Key: {
Artist: "The Acme Band",
SongTitle: "Look Out, World"
},
ConditionExpression: "attribute_exists(RecordLabel)"
}
- PartiQL for DynamoDB
-
借助 PartiQL,您可以使用 Delete
陳述式透過 ExecuteStatement
操作從資料表刪除資料,一次刪除一個項目。您必須指定項目的主索引鍵值。
此資料表的主要索引鍵由 Artist 和 組成SongTitle。您必須指定這些屬性的值。
DELETE FROM Music
WHERE Artist = 'Acme Band' AND SongTitle = 'PartiQL Rocks'
您也可以為操作指定其他條件。以下 DELETE
操作僅刪除具有超過 11 個 Awards (獎項) 的項目。
DELETE FROM Music
WHERE Artist = 'Acme Band' AND SongTitle = 'PartiQL Rocks' AND Awards > 11