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'SELECT
istruzione, è 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.