テーブルからデータを削除する
SQL では、DELETE
ステートメントを使用してテーブルから 1 つ以上の行を削除します。Amazon DynamoDB では、この DeleteItem
オペレーションを使用して一度に 1 つの項目を削除します。
SQL を使ってテーブルからデータを削除する
SQL では、DELETE
ステートメントを使用して、1 つ以上の行を削除します。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 では、クラシック API または PartiQL (SQL 互換のクエリ言語) を使用して、単一の項目を削除できます。複数の項目を変更する場合は、複数のオペレーションを使用する必要があります。
- DynamoDB API
-
DynamoDB API では、DeleteItem
オペレーションを使用して、テーブルからデータを一度に 1 項目ずつ削除します。項目のプライマリキー値を指定する必要があります。
{
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 では、ExecuteStatement
オペレーションでの Delete
ステートメントを使用して、テーブルからデータを一度に 1 項目ずつ削除します。項目のプライマリキー値を指定する必要があります。
このテーブルのプライマリキーは、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