Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Unterschiede bei der Abfrage einer Tabelle
Ein anderes gängiges Zugriffsmuster besteht darin, mehrere Elemente aus einer Tabelle basierend auf Ihren Abfragekriterien zu lesen.
Abfragen einer Tabelle mit SQL
Wenn Sie SQL die SELECT
Anweisung verwenden, können Sie nach Schlüsselspalten, Nichtschlüsselspalten oder einer beliebigen Kombination abfragen. Die WHERE
-Klausel bestimmt, welche Zeilen zurückgegeben werden, wie in den folgenden Beispielen gezeigt.
/* 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;
Beachten Sie, dass der Primärschlüssel für diese Tabelle aus Artist und SongTitlebesteht.
Abfragen einer Tabelle in DynamoDB
In Amazon DynamoDB können Sie entweder DynamoDB API oder PartiQL (eine SQL -kompatible Abfragesprache) verwenden, um ein Element aus einer Tabelle abzufragen.
- DynamoDB API
-
Mit Amazon DynamoDB können Sie mit der Aktion Query
Daten auf ähnliche Weise abrufen. Die Aktion Query
bietet schnellen und effizienten Zugriff auf die physischen Orte, an denen die Daten gespeichert sind. Weitere Informationen finden Sie unter Partitionen und Datenverteilung in DynamoDB.
Sie können Query
mit jeder Tabelle oder jedem sekundären Index verwenden. Sie müssen eine Gleichheitsbedingung für den Wert des Partitionsschlüssels festlegen und können optional eine andere Bedingung für das Sortierschlüsselattribut angeben, falls definiert.
Der Parameter KeyConditionExpression
gibt die Schlüsselwerte an, die Sie abfragen möchten. Sie können einen optionalen FilterExpression
verwenden, um bestimmte Elemente aus den Ergebnissen zu entfernen, bevor diese zurückgegeben werden.
In DynamoDB müssen Sie als Platzhalter ExpressionAttributeValues
in Ausdrucksparametern (z. B. KeyConditionExpression
und FilterExpression
) verwenden. Dies entspricht der Verwendung von Bindungsvariablen in relationalen Datenbanken, in denen Sie die tatsächlichen Werte in der SELECT
-Anweisung zur Laufzeit ersetzen.
Beachten Sie, dass der Primärschlüssel für diese Tabelle aus Artist und besteht. SongTitle
Im Folgenden sind weitere DynamoDB Query
-Beispiele aufgeführt.
// 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
-
Mit PartiQL können Sie eine Abfrage ausführen, indem Sie die ExecuteStatement
-Aktion und die Select
-Anweisung auf den Partitionsschlüssel anwenden.
SELECT AlbumTitle, Year, Price
FROM Music
WHERE Artist='No One You Know'
Verwendung der SELECT
-Anweisung gibt auf diese Weise alle Songs zurück, die mit diesem bestimmten Artist
assoziiert sind.
Codebeispiele, die Select
und ExecuteStatement
verwenden, finden Sie unter PartiQL-Select-Anweisungen für DynamoDB.