Unterschiede bei der Abfrage einer Tabelle - Amazon-DynamoDB

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.