Lenguaje de consulta Cassandra (CQL): insertar, actualizar, eliminar (ejemplo)

Tabla de contenido:

Anonim

En este artículo, aprenderá:

  • Insertar datos
  • Upsert Data
  • Actualizar datos
  • Borrar datos
  • Cassandra Cláusula Where

Insertar datos

El comando 'Insertar en' escribe datos en columnas Cassandra en forma de fila. Almacenará solo aquellas columnas proporcionadas por el usuario. Debe especificar necesariamente solo la columna de clave principal.

No ocupará ningún espacio para valores no dados. No se devuelven resultados después de la inserción.

Sintaxis

Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )

Ejemplo

Aquí está la instantánea del comando ejecutado 'Insertar en' que insertará un registro en la tabla de Cassandra 'Estudiante'.

Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);

Después de la ejecución exitosa del comando 'Insertar en', se insertará una fila en la tabla de Cassandra Student with RollNo 2, Name Michael, dept CS y Semester 2.

Aquí está la instantánea del estado actual de la base de datos.

Upsert Data

Cassandra afirma. Upsert significa que Cassandra insertará una fila si ya no existe una clave primaria; de lo contrario, si la clave primaria ya existe, actualizará esa fila.

Actualizar datos

El comando 'Actualizar' se usa para actualizar los datos en la tabla Cassandra. Si no se devuelven resultados después de actualizar los datos, significa que los datos se actualizaron correctamente; de ​​lo contrario, se devolverá un error. Los valores de las columnas se cambian en la cláusula 'Establecer' mientras que los datos se filtran con la cláusula 'Dónde'.

Sintaxis

Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue

Ejemplo

Aquí está la captura de pantalla que muestra el estado de la base de datos antes de actualizar los datos.

Aquí está la instantánea del comando 'Actualizar' ejecutado que actualiza el registro en la tabla de Estudiantes.

Update University.StudentSet name='Hayden'Where rollno=1;

Después de la ejecución exitosa del comando 'Actualizar estudiante', el nombre del estudiante se cambiará de 'Clark' a 'Hayden' que tiene rollno 1.

Aquí está la captura de pantalla que muestra el estado de la base de datos después de actualizar los datos.

Cassandra Eliminar datos

El comando 'Eliminar' elimina una fila completa o algunas columnas de la tabla Estudiante. Cuando se eliminan datos, no se eliminan de la tabla inmediatamente. En su lugar, los datos eliminados se marcan con una lápida y se eliminan después de la compactación.

Sintaxis

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

La sintaxis anterior eliminará una o más filas dependiendo de la filtración de datos en la cláusula where.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

La sintaxis anterior eliminará algunas columnas de la tabla.

Ejemplo

Aquí está la instantánea que muestra el estado actual de la base de datos antes de eliminar los datos.

Aquí está la instantánea del comando que eliminará una fila de la tabla Student.

Delete from University.Student where rollno=1;

Después de la ejecución exitosa del comando 'Eliminar', se eliminará una fila de la tabla Estudiante donde el valor de rollno es 1.

Aquí está la instantánea que muestra el estado de la base de datos después de eliminar los datos.

Lo que Cassandra no apoya

Existen las siguientes limitaciones en el lenguaje de consulta de Cassandra (CQL).

  1. CQL no admite consultas de agregación como max, min, avg
  2. CQL no admite grupos por tener consultas.
  3. CQL no admite combinaciones.
  4. CQL no admite consultas OR.
  5. CQL no admite consultas con comodines.
  6. CQL no admite consultas de unión e intersección.
  7. Las columnas de la tabla no se pueden filtrar sin crear el índice.
  8. La consulta mayor que (>) y menor que (<) solo se admite en la columna de agrupación.

    El lenguaje de consulta de Cassandra no es adecuado para fines de análisis porque tiene muchas limitaciones.

Cassandra Cláusula Where

En Cassandra, la recuperación de datos es un tema delicado. La columna se filtra en Cassandra creando un índice en columnas de clave no primaria.

Sintaxis

Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND… 

Ejemplo

  • Aquí está la instantánea que muestra la recuperación de datos de la tabla Student sin filtrado de datos.
select * from University.Student;

Se recuperan dos registros de la tabla Student.

  • Aquí está la instantánea que muestra la recuperación de datos de Student con filtrado de datos. Se recupera un registro.

Los datos se filtran por columna de nombre. Se recuperan todos los registros que tienen nombre igual a Guru99.

select * from University.Student where name='Guru99';