Cassandra Langage de requête (CQL) : insérer dans, mettre à jour (exemple)
Insérer des données
La 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'.
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
Cassandra s'insurge. Upsert signifie que Cassandra insérera une ligne si une clé primaire n'existe pas déjà, sinon si la clé primaire existe déjà, il mettra à jour cette ligne.
Mettre à jour les données
La 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, sinon 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 « Où ».
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.
Voici l'instantané de l'exécution Cassandra Commande Update qui met à jour l'enregistrement dans la table Student.
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.
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.
Voici l'instantané de la commande qui supprimera une ligne de la table Student.
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.
Ce que Cassandra ne supporte pas
Il existe les limitations suivantes Cassandra langage de requête (CQL).
- CQL ne prend pas en charge les requêtes d'agrégation telles que max, min, avg
- CQL ne prend pas en charge les requêtes group by.
- CQL ne prend pas en charge les jointures.
- CQL ne prend pas en charge les requêtes OR.
- CQL ne prend pas en charge les requêtes génériques.
- CQL ne prend pas en charge les requêtes Union et Intersection.
- Les colonnes du tableau ne peuvent pas être filtrées sans créer l'index.
- 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.
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.
select * from University. Student where name='Guru99';