Lea los datos de una tabla con la CQL SELECT declaración de Amazon Keyspaces - 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.

Lea los datos de una tabla con la CQL SELECT declaración de Amazon Keyspaces

En la sección 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, normalmente no es recomendable ejecutar este comando, ya que devuelve todos los datos de la tabla.

Para seleccionar todos los datos de su tabla
  1. Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese 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. Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese 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 ;

    La salida 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. Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese 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, ejecute 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 clave de partición 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 que puede usar en la WHERE cláusula deben incluir todas o un subconjunto de las columnas de la clave de partición de la tabla. Si desea utilizar solo un subconjunto de las columnas de la WHERE cláusula, debe incluir un conjunto contiguo de columnas de clave de partición de izquierda a derecha, empezando por la primera columna de la clave de partición. Por ejemplo, si las columnas de la clave de partición son yearmonth, y, award entonces puede usar las siguientes columnas en la cláusula: WHERE

      • year

      • year AND month

      • year AND month AND award

    • 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 CQL consultas para buscar lo siguiente en la book_awards tabla:

  • 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.