

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perbedaan antara database relasional (SQL) dan DynamoDB saat menghapus data dari tabel
<a name="SQLtoNoSQL.DeleteData"></a>

Di SQL, pernyataan `DELETE` menghapus satu baris atau lebih dari tabel. Amazon DynamoDB menggunakan operasi `DeleteItem` untuk menghapus satu item pada satu waktu.

**Topics**
+ [Menghapus data dari tabel dengan SQL](#SQLtoNoSQL.DeleteData.SQL)
+ [Menghapus data dari tabel di DynamoDB](#SQLtoNoSQL.DeleteData.DynamoDB)

## Menghapus data dari tabel dengan SQL
<a name="SQLtoNoSQL.DeleteData.SQL"></a>

Dalam SQL, Anda menggunakan pernyataan `DELETE` untuk menghapus satu baris atau lebih. Klausa `WHERE` menentukan baris yang ingin Anda modifikasi. Berikut adalah contohnya.

```
DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';
```

Anda dapat memodifikasi klausul `WHERE` untuk menghapus beberapa baris. Misalnya, Anda dapat menghapus semua lagu dari artis tertentu, seperti yang ditunjukkan dalam contoh berikut.

```
DELETE FROM Music WHERE Artist = 'The Acme Band'
```

## Menghapus data dari tabel di DynamoDB
<a name="SQLtoNoSQL.DeleteData.DynamoDB"></a>

Di DynamoDB, Anda dapat menggunakan DynamoDB API [atau](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html) PartiQL (bahasa kueri yang kompatibel dengan SQL) untuk menghapus satu item. Jika Anda ingin memodifikasi beberapa item, Anda harus menggunakan beberapa operasi.

------
#### [ DynamoDB API ]

Dengan DynamoDB API, Anda menggunakan operasi `DeleteItem` untuk menghapus data dari tabel, satu item pada satu waktu. Anda harus menentukan nilai kunci primer item.

```
{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    }
}
```

**catatan**  
Selain itu`DeleteItem`, Amazon DynamoDB mendukung operasi `BatchWriteItem` untuk menghapus beberapa item pada saat yang sama.

`DeleteItem` mendukung *tulis bersyarat*, di mana operasi hanya berhasil jika `ConditionExpression` tertentu bernilai true. Misalnya, `DeleteItem` operasi berikut menghapus item hanya jika memiliki *RecordLabel*atribut.

```
{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    },
   ConditionExpression: "attribute_exists(RecordLabel)"
}
```

------
#### [ PartiQL for DynamoDB ]

Dengan PartiQL, Anda menggunakan pernyataan `Delete` melalui operasi `ExecuteStatement` untuk menghapus data dari tabel, satu item pada satu waktu. Anda harus menentukan nilai kunci primer item.

Kunci utama untuk tabel ini terdiri dari *Artis* dan *SongTitle*. Anda harus menentukan nilai untuk atribut ini.

```
DELETE FROM Music
WHERE Artist = 'Acme Band' AND SongTitle = 'PartiQL Rocks'
```

Anda juga dapat menentukan kondisi tambahan untuk operasi. Operasi `DELETE` berikut hanya menghapus item jika memiliki lebih dari 11 *Penghargaan*.

```
DELETE FROM Music
WHERE Artist = 'Acme Band' AND SongTitle = 'PartiQL Rocks' AND Awards > 11
```

**catatan**  
Untuk contoh kode menggunakan `DELETE` dan `ExecuteStatement`, lihat [Pernyataan hapus PartiQL untuk DynamoDB](ql-reference.delete.md).

------