Tutorial: Lesen Sie Daten aus einer Tabelle mithilfe der Anweisung SELECT - Amazon Keyspaces (für Apache Cassandra)

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.

Tutorial: Lesen Sie Daten aus einer Tabelle mithilfe der Anweisung SELECT

In Tutorial: Daten in eine Amazon Keyspaces-Tabelle einfügen und laden diesem Abschnitt haben Sie anhand der SELECT Anweisung überprüft, ob Sie Ihrer Tabelle erfolgreich Daten hinzugefügt haben. In diesem Abschnitt verfeinern Sie Ihre Verwendung von, SELECT um bestimmte Spalten und nur Zeilen anzuzeigen, die bestimmte Kriterien erfüllen.

Die allgemeine Form der SELECT Aussage lautet wie folgt.

SELECT column_list FROM table_name [WHERE condition [ALLOW FILTERING]] ;

Wählen Sie alle Daten in Ihrer Tabelle aus

Die einfachste Form der SELECT Anweisung gibt alle Daten in Ihrer Tabelle zurück.

Wichtig

In einer Produktionsumgebung ist es in der Regel nicht empfehlenswert, diesen Befehl auszuführen, der alle Daten in Ihrer Tabelle zurückgibt.

Um alle Daten Ihrer Tabelle auszuwählen
  1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Achten Sie darauf, us-east-1 mit Ihrer eigenen Region zu aktualisieren.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Führen Sie die folgende Abfrage aus.

    SELECT * FROM catalog.book_awards ;

    Wenn Sie das Platzhalterzeichen (*) für verwenden, werden alle Spalten ausgewählt. column_list Die Ausgabe der Anweisung sieht wie das folgende Beispiel aus.

    year | award | category | rank | author | book_title | publisher ------+------------------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher 2020 | Kwesi Manu Prize | Fiction | 1 | Akua Mansa | Where did you go? | SomePublisher 2020 | Kwesi Manu Prize | Fiction | 2 | John Stiles | Yesterday | Example Books 2020 | Kwesi Manu Prize | Fiction | 3 | Nikki Wolf | Moving to the Chateau | AnyPublisher 2020 | Richard Roe | Fiction | 1 | Alejandro Rosalez | Long Summer | SomePublisher 2020 | Richard Roe | Fiction | 2 | Arnav Desai | The Key | Example Books 2020 | Richard Roe | Fiction | 3 | Mateo Jackson | Inside the Whale | AnyPublisher

Wählen Sie eine Teilmenge von Spalten

Um eine Teilmenge von Spalten abzufragen
  1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Achten Sie darauf, us-east-1 mit Ihrer eigenen Region zu aktualisieren.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Führen Sie die folgende Abfrage aus awardcategory, um nur die year Spalten, und abzurufen.

    SELECT award, category, year FROM catalog.book_awards ;

    Die Ausgabe enthält nur die angegebenen Spalten in der Reihenfolge, die in der SELECT Anweisung aufgeführt ist.

    award | category | year ------------------+-------------+------ Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020

Wählen Sie eine Teilmenge von Zeilen aus

Wenn Sie einen großen Datensatz abfragen, möchten Sie möglicherweise nur Datensätze, die bestimmte Kriterien erfüllen. Zu diesem Zweck können Sie eine WHERE Klausel an das Ende unserer SELECT Anweisung anhängen.

Um eine Teilmenge von Zeilen abzufragen
  1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Achten Sie darauf, us-east-1 mit Ihrer eigenen Region zu aktualisieren.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Führen Sie die folgende Abfrage aus, um nur die Datensätze für die Auszeichnungen eines bestimmten Jahres abzurufen.

    SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;

    Die vorherige SELECT Anweisung gibt die folgende Ausgabe zurück.

    year | award | category | rank | author | book_title | publisher ------+-------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher

Die WHERE Klausel verstehen

Die WHERE Klausel wird verwendet, um die Daten zu filtern und nur die Daten zurückzugeben, die die angegebenen Kriterien erfüllen. Bei den angegebenen Kriterien kann es sich um eine einfache oder eine zusammengesetzte Bedingung handeln.

Wie verwendet man Bedingungen in einer WHERE Klausel
  • Eine einfache Bedingung — Eine einzelne Spalte.

    WHERE column_name=value

    Sie können eine einfache Bedingung in einer WHERE Klausel verwenden, wenn eine der folgenden Bedingungen erfüllt ist:

    • Die Spalte ist die einzige Spalte im Primärschlüssel der Tabelle.

    • Sie fügen ALLOW FILTERING nach der Bedingung in der WHERE Klausel hinzu.

      Beachten Sie, dass die Verwendung zu einer inkonsistenten Leistung führen ALLOW FILTERING kann, insbesondere bei großen und mehrfach partitionierten Tabellen.

  • Eine zusammengesetzte Bedingung — Mehrere einfache Bedingungen, die miteinander verbunden sind. AND

    WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...

    Sie können zusammengesetzte Bedingungen in einer WHERE Klausel verwenden, wenn eine der folgenden Bedingungen erfüllt ist:

    • Die Spalten in der WHERE Klausel entsprechen exakt den Spalten im Primärschlüssel der Tabelle, nicht mehr und nicht weniger.

    • Sie fügen ALLOW FILTERING nach der zusammengesetzten Bedingung in der WHERE Klausel hinzu, wie im folgenden Beispiel.

      SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;

      Beachten Sie, dass die Verwendung zu einer inkonsistenten Leistung führen ALLOW FILTERING kann, insbesondere bei großen und mehrfach partitionierten Tabellen.

Probieren Sie es aus

Erstellen Sie Ihre eigenen CQL-Abfragen, um Folgendes aus Ihrer book_awards Tabelle zu ermitteln:

  • Finden Sie die Gewinner der Wolf Awards 2020 und zeigen Sie die Buchtitel und Autoren, sortiert nach Rang, an.

  • Zeigen Sie die Gewinner des ersten Preises für alle Auszeichnungen im Jahr 2020 an und zeigen Sie die Buchtitel und die Namen der Auszeichnungen an.