Differenze nell'interrogazione di una tabella - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Differenze nell'interrogazione di una tabella

Un altro modello di accesso comune è la lettura di più item da una tabella, in base ai criteri di query.

Interrogazione di una tabella con SQL

Quando si utilizza SQL l'SELECTistruzione, è possibile eseguire query su colonne chiave, colonne non chiave o qualsiasi combinazione. La clausola WHERE determina quali righe vengono restituite, come mostrato negli esempi seguenti.

/* 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;

Notate che la chiave primaria di questa tabella è costituita da Artist e SongTitle.

Esecuzione di query su una tabella in DynamoDB

In Amazon DynamoDB, puoi utilizzare API DynamoDB o PartiQL SQL (un linguaggio di query compatibile) per interrogare un elemento da una tabella.

DynamoDB API

Con Amazon DynamoDB puoi usare l'operazione Query per recuperare i dati in modo simile. L'operazione Query fornisce un accesso rapido ed efficiente alle posizioni fisiche in cui sono archiviati i dati. Per ulteriori informazioni, consulta Partizioni e distribuzione dei dati in DynamoDB.

È possibile utilizzare Query con qualsiasi tabella o indice secondario. Dovrai specificare una condizione di uguaglianza per il valore della chiave di partizione e facoltativamente fornire un'altra condizione per l'attributo della chiave di ordinamento, se definito.

Il parametro KeyConditionExpression specifica i valori delle chiavi su cui vuoi eseguire la query. Puoi utilizzare un FilterExpression facoltativo per rimuovere determinati item dai risultati prima che vengano restituiti.

In DynamoDB, è necessario utilizzare ExpressionAttributeValues come segnaposto nei parametri delle espressioni (come KeyConditionExpression eFilterExpression). Questo comportamento è analogo all'uso delle variabili di associazione nei database relazionali in cui sostituisci i valori effettivi nell'istruzione SELECT al runtime.

Tieni presente che la chiave primaria per questa tabella è costituita da Artist e. SongTitle

Di seguito vengono riportati altri esempi di Query.

// 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

Con PartiQL, puoi eseguire una query utilizzando l'operazione ExecuteStatement e l’istruzione Select sulla chiave di partizione.

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

L’utilizzo della dichiarazione SELECT in questo modo restituisce tutte le canzoni associate a questo particolare Artist.

Per esempi di codice che utilizzano Select e ExecuteStatement, consulta Istruzioni SELECT PartiQL per DynamoDB.