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.