Linguagem de consulta Cassandra (CQL): inserir, atualizar (exemplo)

Inserir dados

A instrução de inserção do Cassandra grava dados nas colunas do Cassandra em formato de linha. A consulta de inserção do Cassandra armazenará apenas as colunas fornecidas pelo usuário. Você deve necessariamente especificar apenas a coluna da chave primária.

Não ocupará nenhum espaço para valores não fornecidos. Nenhum resultado é retornado após a inserção.

Sintaxe

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

Exemplo

Aqui está o instantâneo da consulta Cassandra Insert into table executada que irá inserir um registro na tabela Cassandra 'Student'.

Inserir dados

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

Após a execução bem-sucedida do comando Inserir no Cassandra, uma linha será inserida na tabela do Cassandra Aluno com RollNo 2, Nome Michael, dept CS e Semestre 2.

Aqui está o instantâneo do estado atual do banco de dados.

Inserir dados

Upsert Dados

Cassandra fica chateada. Upsert significa que Cassandra irá inserir uma linha se uma chave primária ainda não existir, caso contrário, se a chave primária já existir, ela atualizará essa linha.

Dados de atualização

A consulta Cassandra Update é usada para atualizar os dados no Mesa Cassandra. Se nenhum resultado for retornado após a atualização dos dados, significa que os dados foram atualizados com sucesso, caso contrário, um erro será retornado. Os valores das colunas são alterados na cláusula 'Set' enquanto os dados são filtrados com a cláusula 'Where'.

Sintaxe

Update KeyspaceName.TableName 
Set ColumnName1=new Column1Value,
      ColumnName2=new Column2Value,
      ColumnName3=new Column3Value,
       .
       .
       .
Where ColumnName=ColumnValue

Exemplo

Aqui está a captura de tela que mostra o estado do banco de dados antes de atualizar os dados.

Dados de atualização

Aqui está o instantâneo do comando Cassandra Update executado que atualiza o registro na tabela Student.

Dados de atualização

Update University.Student
Set name='Hayden'
Where rollno=1;

Após a execução bem-sucedida da consulta de atualização no Cassandra 'Update Student', o nome do aluno será alterado de 'Clark' para 'Hayden' que possui rollno 1.

Aqui está a captura de tela que mostra o estado do banco de dados após a atualização dos dados.

Dados de atualização

Cassandra Excluir dados

O comando 'Excluir' remove uma linha inteira ou algumas colunas da tabela Aluno. Quando os dados são excluídos, eles não são excluídos da tabela imediatamente. Em vez disso, os dados excluídos são marcados com uma lápide e removidos após a compactação.

Sintaxe

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

A sintaxe de exclusão de linha do Cassandra acima excluirá uma ou mais linhas dependendo da filtragem de dados na cláusula where.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

A sintaxe acima excluirá algumas colunas da tabela.

Exemplo

Aqui está o instantâneo que mostra o estado atual do banco de dados antes de excluir os dados.

Cassandra Excluir dados

Aqui está o instantâneo do comando que removerá uma linha da tabela Student.

Cassandra Excluir dados

Delete from University.Student where rollno=1;

Após a execução bem-sucedida do comando CQL Delete, uma linha será excluída da tabela Student onde o valor rollno é 1.

Aqui está o instantâneo que mostra o estado do banco de dados após a exclusão dos dados.

Cassandra Excluir dados

O que Cassandra não suporta

Existem seguidoreswing limitações na linguagem de consulta Cassandra (CQL).

  1. CQL não oferece suporte a consultas de agregação como max, min, avg
  2. CQL não suporta agrupamento por, tendo consultas.
  3. CQL não oferece suporte a junções.
  4. CQL não oferece suporte a consultas OR.
  5. CQL não oferece suporte a consultas curinga.
  6. CQL não oferece suporte a consultas de união e interseção.
  7. As colunas da tabela não podem ser filtradas sem a criação do índice.
  8. A consulta maior que (>) e menor que (<) só é suportada na coluna de cluster. A linguagem de consulta Cassandra não é adequada para fins analíticos porque tem muitas limitações.

Cláusula Onde Cassandra

In Cassandra, a recuperação de dados é uma questão delicada. A coluna é filtrada no Cassandra criando um índice em colunas de chave não primária.

Sintaxe

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

Exemplo

  • Aqui está o instantâneo que mostra a recuperação de dados da tabela Student sem filtragem de dados.

Cláusula Onde Cassandra

select * from University.Student;

Dois registros são recuperados da tabela Student.

  • Aqui está o instantâneo que mostra a recuperação de dados do Student com filtragem de dados. Um registro é recuperado.

Os dados são filtrados por coluna de nome. São recuperados todos os registros que possuem nome igual a Guru99.

Cláusula Onde Cassandra

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