Cassandra Langage de requête (CQL) : insérer dans, mettre à jour (exemple)

Insérer des données

Le Cassandra L'instruction insert écrit les données dans Cassandra colonnes sous forme de lignes. Cassandra La requête d'insertion stockera uniquement les colonnes fournies par l'utilisateur. Vous devez nécessairement spécifier uniquement la colonne de clé primaire.

Cela ne prendra aucun espace pour les valeurs non données. Aucun résultat n'est renvoyé après l'insertion.

Syntaxe

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

Exemple

Voici l'instantané de l'exécution Cassandra Insérer dans une requête de table qui insérera un enregistrement dans Cassandra tableau 'Étudiant'.

Insérer des données

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

Après l'exécution réussie de la commande Insérer dans Cassandra, une ligne sera insérée dans le Cassandra table Étudiant avec RollNo 2, Nom Michael, département CS et Semestre 2.

Voici un instantané de l'état actuel de la base de données.

Insérer des données

Insérer des données

Cassandra s'insurge. Upsert signifie que Cassandra insérera une ligne si une clé primaire n'existe pas déjà autrewise si la clé primaire existe déjà, elle mettra à jour cette ligne.

Mettre à jour les données

Le Cassandra La requête de mise à jour est utilisée pour mettre à jour les données dans le Cassandra table. Si aucun résultat n'est renvoyé après la mise à jour des données, cela signifie que les données ont été mises à jour avec succès.wise une erreur sera renvoyée. Les valeurs des colonnes sont modifiées dans la clause « Set » tandis que les données sont filtrées avec la clause « Where ».

Syntaxe

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

Exemple

Voici la capture d'écran qui montre l'état de la base de données avant la mise à jour des données.

Mettre à jour les données

Voici l'instantané de l'exécution Cassandra Commande Update qui met à jour l'enregistrement dans la table Student.

Mettre à jour les données

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

Après une exécution réussie de la requête de mise à jour dans Cassandra « Mettre à jour l'étudiant », le nom de l'étudiant sera modifié de « Clark » à « Hayden » qui porte le numéro 1.

Voici la capture d'écran qui montre l'état de la base de données après la mise à jour des données.

Mettre à jour les données

Cassandra Suprimmer les données

La commande 'Supprimer' supprime une ligne entière ou quelques colonnes du tableau Etudiant. Lorsque des données sont supprimées, elles ne sont pas immédiatement supprimées de la table. Au lieu de cela, les données supprimées sont marquées d'une pierre tombale et sont supprimées après le compactage.

Syntaxe

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Le dessus Cassandra La syntaxe de suppression de ligne supprimera une ou plusieurs lignes en fonction de la filtration des données dans la clause Where.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

La syntaxe ci-dessus supprimera certaines colonnes du tableau.

Exemple

Voici l'instantané qui montre l'état actuel de la base de données avant de supprimer les données.

Cassandra Suprimmer les données

Voici l'instantané de la commande qui supprimera une ligne de la table Student.

Cassandra Suprimmer les données

Delete from University.Student where rollno=1;

Après une exécution réussie de la commande CQL Supprimer, une ligne sera supprimée de la table Student où la valeur rollno est 1.

Voici l'instantané qui montre l'état de la base de données après la suppression des données.

Cassandra Suprimmer les données

Quoi Cassandra ne supporte pas

Il y a des suiveurswing limites dans Cassandra langage de requête (CQL).

  1. CQL ne prend pas en charge les requêtes d'agrégation telles que max, min, avg
  2. CQL ne prend pas en charge les requêtes group by.
  3. CQL ne prend pas en charge les jointures.
  4. CQL ne prend pas en charge les requêtes OR.
  5. CQL ne prend pas en charge les requêtes génériques.
  6. CQL ne prend pas en charge les requêtes Union et Intersection.
  7. Les colonnes du tableau ne peuvent pas être filtrées sans créer l'index.
  8. Les requêtes supérieures à (>) et inférieures à (<) ne sont prises en charge que sur les colonnes de clustering. Cassandra Le langage de requête n'est pas adapté à des fins d'analyse car il présente de nombreuses limitations.

Cassandra Où est la clause

In Cassandra, la récupération des données est une question sensible. La colonne est filtrée dans Cassandra en créant un index sur les colonnes de clé non primaire.

Syntaxe

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

Exemple

  • Voici l'instantané qui montre la récupération des données de la table Student sans filtration des données.

Cassandra Où est la clause

select * from University.Student;

Deux enregistrements sont extraits de la table Student.

  • Voici l'instantané qui montre la récupération des données de Student avec filtration des données. Un enregistrement est récupéré.

Les données sont filtrées par colonne de nom. Tous les enregistrements dont le nom est égal à Guru99 sont récupérés.

Cassandra Où est la clause

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