Perbedaan dalam menanyakan tabel - Amazon DynamoDB

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

Perbedaan dalam menanyakan tabel

Pola akses umum lainnya adalah membaca beberapa item dari tabel, berdasarkan kriteria kueri Anda.

Mengkueri tabel dengan SQL

Saat menggunakan SQL, pernyataan SELECT memungkinkan Anda melakukan kueri pada kolom kunci, kolom non-kunci, atau kombinasi apa pun. Klausa WHERE menentukan baris mana yang dikembalikan, seperti yang ditunjukkan dalam contoh berikut.

/* Return a single song, by primary key */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today';
/* Return all of the songs by an artist */ SELECT * FROM Music WHERE Artist='No One You Know';
/* Return all of the songs by an artist, matching first part of title */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle LIKE 'Call%';
/* Return all of the songs by an artist, with a particular word in the title... ...but only if the price is less than 1.00 */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle LIKE '%Today%' AND Price < 1.00;

Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.

Mengkueri tabel di DynamoDB

Di Amazon DynamoDB, Anda dapat menggunakan DynamoDB API atau PartiQL (bahasa kueri yang kompatibel dengan SQL) untuk menanyakan item dari tabel.

DynamoDB API

Dengan Amazon DynamoDB, Anda dapat menggunakan operasi Query untuk mengambil data dengan cara yang serupa. Operasi Query ini menyediakan akses cepat dan efisien ke lokasi fisik di mana data disimpan. Untuk informasi selengkapnya, lihat Partisi dan distribusi data di DynamoDB.

Anda dapat menggunakan Query dengan tabel atau indeks sekunder apa pun. Anda harus menentukan syarat kesetaraan untuk nilai kunci partisi, dan secara opsional Anda dapat menyediakan syarat lain untuk atribut kunci urutan jika ditentukan.

Parameter KeyConditionExpression menentukan nilai kunci yang ingin Anda kueri. Anda dapat menggunakan opsi FilterExpression untuk menghapus item tertentu dari hasil sebelum item dikembalikan kepada Anda.

Di DynamoDB, Anda harus menggunakan ExpressionAttributeValues sebagai placeholder dalam parameter ekspresi (seperti KeyConditionExpression dan FilterExpression). Hal ini analog dengan penggunaan variabel pengikatan dalam basis data relasional, di mana Anda mengganti nilai-nilai aktual ke pernyataan SELECT pada saat runtime.

Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.

Berikut adalah beberapa contoh Query DynamoDB.

// Return a single song, by primary key { TableName: "Music", KeyConditionExpression: "Artist = :a and SongTitle = :t", ExpressionAttributeValues: { ":a": "No One You Know", ":t": "Call Me Today" } }
// Return all of the songs by an artist { TableName: "Music", KeyConditionExpression: "Artist = :a", ExpressionAttributeValues: { ":a": "No One You Know" } }
// Return all of the songs by an artist, matching first part of title { TableName: "Music", KeyConditionExpression: "Artist = :a and begins_with(SongTitle, :t)", ExpressionAttributeValues: { ":a": "No One You Know", ":t": "Call" } }
PartiQL for DynamoDB

Dengan PartiQL, Anda dapat melakukan kueri dengan menggunakan operasi ExecuteStatement dan pernyataan Select pada kunci partisi.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know'

Menggunakan pernyataan SELECT dengan cara ini mengembalikan semua lagu yang terkait dengan Artist tertentu.

Untuk contoh kode menggunakan Select dan ExecuteStatement, lihat Pernyataan pemilihan PartiQL untuk DynamoDB.