Lire les données d'un tableau à l'aide de l'CQLSELECTinstruction dans Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lire les données d'un tableau à l'aide de l'CQLSELECTinstruction dans Amazon Keyspaces

Dans la section Insertion et chargement de données dans un tableau Amazon Keyspaces, vous avez utilisé l'instruction SELECT pour vérifier que vous avez correctement ajouté des données à votre table. Dans cette section, vous affinez votre utilisation de SELECT pour afficher des colonnes spécifiques, et uniquement des lignes qui répondent à des critères spécifiques.

La forme générale de l'instruction SELECT est la suivante.

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

Sélectionnez toutes les données de votre tableau

La forme la plus simple de l'instruction SELECT renvoie toutes les données de votre table.

Important

Dans un environnement de production, il n'est généralement pas recommandé d'exécuter cette commande, car elle renvoie toutes les données de votre table.

Pour sélectionner toutes les données de votre table
  1. Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour us-east-1 avec votre propre région.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Exécutez la requête suivante :

    SELECT * FROM catalog.book_awards ;

    Utilisation du caractère générique (*) pour que column_list sélectionne toutes les colonnes. Le résultat de l'instruction ressemble à l'exemple suivant.

    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

Sélectionnez un sous-ensemble de colonnes

Pour interroger un sous-ensemble de colonnes
  1. Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour us-east-1 avec votre propre région.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Pour récupérer uniquement les colonnes award, category et year, exécutez la requête suivante.

    SELECT award, category, year FROM catalog.book_awards ;

    La sortie contient uniquement les colonnes spécifiées dans l'ordre indiqué dans l'SELECTinstruction.

    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

Sélectionnez un sous-ensemble de lignes

Lors de l'interrogation d'un jeu de données volumineux, vous ne souhaitez peut-être que les enregistrements répondant à certains critères. Pour ce faire, vous pouvez ajouter une clause WHERE à la fin de notre instruction SELECT.

Pour interroger un sous-ensemble de lignes
  1. Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour us-east-1 avec votre propre région.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Pour récupérer uniquement les dossiers relatifs aux récompenses d'une année donnée, exécutez la requête suivante.

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

    L'SELECTinstruction précédente renvoie le résultat suivant.

    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

Comprendre la WHERE clause

La clause WHERE est utilisée pour filtrer les données et renvoyer uniquement celles qui répondent aux critères spécifiés. Les critères spécifiés peuvent être une condition simple ou une condition composée.

Comment utiliser les conditions dans une clause WHERE
  • Une condition simple : une seule colonne.

    WHERE column_name=value

    Vous pouvez utiliser une condition simple dans une clause WHERE si l'une des conditions suivantes est remplie :

    • La colonne est la seule colonne clé de partition de la table.

    • Vous ajoutez ALLOW FILTERING après la condition de la clause WHERE.

      Sachez que l'utilisation d'ALLOW FILTERING peut entraîner des performances incohérentes, en particulier avec les tables volumineuses et à plusieurs partitions.

  • Une condition composée — Plusieurs conditions simples reliées parAND.

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

    Vous pouvez utiliser des conditions composées dans une clause WHERE si l'une des conditions suivantes est remplie :

    • Les colonnes que vous pouvez utiliser dans la WHERE clause doivent inclure la totalité ou un sous-ensemble des colonnes de la clé de partition de la table. Si vous souhaitez utiliser uniquement un sous-ensemble des colonnes de la WHERE clause, vous devez inclure un ensemble contigu de colonnes de clé de partition de gauche à droite, en commençant par la première colonne de la clé de partition. Par exemple, si les colonnes de clé de partition sont yearmonth,, award vous pouvez utiliser les colonnes suivantes dans la WHERE clause :

      • year

      • year AND month

      • year AND month AND award

    • Vous ajoutez ALLOW FILTERING après la condition composée dans la clause WHERE, comme dans l'exemple suivant.

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

      Sachez que l'utilisation d'ALLOW FILTERING peut entraîner des performances incohérentes, en particulier avec les tables volumineuses et à plusieurs partitions.

Essayez-le

Créez vos propres CQL requêtes pour trouver les éléments suivants dans votre book_awards tableau :

  • Trouvez les gagnants des Wolf Awards 2020 et affichez les titres et les auteurs des livres, classés par rang.

  • Afficher les premiers gagnants de tous les prix en 2020 et afficher les titres des livres et les noms des récompenses.