Tutorial: Lea los datos de una tabla utilizando la declaración SELECT - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Lea los datos de una tabla utilizando la declaración SELECT

En la sección Tutorial: Inserción y carga de datos en una tabla de Amazon Keyspaces, utilizó la instrucción SELECT para verificar que ha añadido correctamente los datos a su tabla. En esta sección, usted restringe el uso de SELECT para mostrar columnas específicas y solo las filas que cumplan criterios específicos.

La forma general de la instrucción SELECT es la siguiente.

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

Seleccione todos los datos de la tabla

La forma más sencilla de la instrucción SELECT devuelve todos los datos de su tabla.

importante

En un entorno de producción, no suele ser una práctica recomendada ejecutar este comando, dado que devuelve todos los datos de su tabla.

Para seleccionar todos los datos de su tabla
  1. Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate de actualizar us-east-1 con tu propia región.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Ejecute la siguiente consulta .

    SELECT * FROM catalog.book_awards ;

    El uso del carácter comodín (*) para column_list selecciona todas las columnas. El resultado de la declaración se parece al siguiente ejemplo.

    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

Seleccione un subconjunto de columnas

Para consultar un subconjunto de columnas
  1. Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate de actualizar us-east-1 con tu propia región.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Para recuperar solo las columnas award, category y year, ejecute la siguiente consulta.

    SELECT award, category, year FROM catalog.book_awards ;

    El resultado contiene solo las columnas especificadas en el orden indicado en la SELECT declaración.

    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

Seleccione un subconjunto de filas

Al consultar un gran conjunto de datos, es posible que solo desee registros que cumplan determinados criterios. Para ello, puede añadir una cláusula WHERE al final de nuestra instrucción SELECT.

Para consultar un subconjunto de filas
  1. Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate de actualizar us-east-1 con tu propia región.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Para recuperar solo los registros de los premios de un año determinado, ejecuta la siguiente consulta.

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

    La SELECT instrucción anterior devuelve el siguiente resultado.

    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

Comprensión de la cláusula WHERE

La cláusula WHERE se utiliza para filtrar los datos y devolver solo los que cumplan los criterios especificados. Los criterios especificados pueden ser una condición simple o una condición compuesta.

Uso de condiciones en una cláusula WHERE
  • Una condición simple: una única columna.

    WHERE column_name=value

    Puede utilizar una condición simple en una cláusula WHERE si se cumple alguna de las siguientes condiciones:

    • La columna es la única columna de la clave principal de la tabla.

    • Añada ALLOW FILTERING después de la condición en la cláusula WHERE.

      Tenga en cuenta que el uso de ALLOW FILTERING puede dar lugar a un rendimiento incoherente, sobre todo con tablas de gran tamaño y con varias particiones.

  • Una condición compuesta: múltiples condiciones simples conectadas por AND.

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

    Puede utilizar condiciones compuestas en una cláusula WHERE si se cumple alguna de las siguientes condiciones:

    • Las columnas de la cláusula WHERE coinciden exactamente con las columnas de la clave principal de la tabla, ni más ni menos.

    • Añada ALLOW FILTERING después de la condición compuesta en la cláusula WHERE, como en el siguiente ejemplo.

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

      Tenga en cuenta que el uso de ALLOW FILTERING puede dar lugar a un rendimiento incoherente, sobre todo con tablas de gran tamaño y con varias particiones.

Pruébelo

Cree sus propias consultas CQL para obtener los siguientes resultados de su tabla book_awards:

  • Encuentre los ganadores de los premios Wolf de 2020 y muestre los títulos y autores de los libros, ordenados por rango.

  • Muestra los ganadores de los primeros premios de todos los premios de 2020 y muestra los títulos de los libros y los nombres de los premios.