從資料表刪除資料時,關聯式 (SQL) 資料庫與 DynamoDB 之間的差異 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從資料表刪除資料時,關聯式 (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
注意

如需使用 DELETEExecuteStatement 的程式碼範例,請參閱 適用於 DynamoDB 的 PartiQL Delete 陳述式