Cassandra Abfragesprache (CQL): Einfügen in, Aktualisieren (Beispiel)
Daten einfügen
Das Cassandra insert-Anweisung schreibt Daten hinein Cassandra Spalten in Zeilenform. Cassandra Die Einfügeabfrage speichert nur die vom Benutzer angegebenen Spalten. Sie müssen unbedingt nur die Primärschlüsselspalte angeben.
Es wird kein Platz für nicht angegebene Werte benötigt. Nach dem Einfügen werden keine Ergebnisse zurückgegeben.
Syntax
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
Beispiel
Hier ist der Schnappschuss der Hingerichteten Cassandra Abfrage zum Einfügen in eine Tabelle, in die ein Datensatz eingefügt wird Cassandra Tabelle „Student“.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Nach erfolgreicher Ausführung des Befehls Einfügen in Cassandra, wird eine Zeile in die eingefügt Cassandra Tabelle Student mit RollenNr. 2, Name Michael, Abteilung CS und Semester 2.
Hier ist die Momentaufnahme des aktuellen Datenbankstatus.
Daten hochladen
Cassandra stört. Upsert bedeutet das Cassandra fügt eine Zeile ein, wenn noch kein Primärschlüssel vorhanden ist, andernfalls wird die Zeile aktualisiert, wenn bereits ein Primärschlüssel vorhanden ist.
Daten aktualisieren
Das Cassandra Die Aktualisierungsabfrage wird verwendet, um die Daten im zu aktualisieren Cassandra Tabelle. Wenn nach dem Aktualisieren der Daten keine Ergebnisse zurückgegeben werden, bedeutet dies, dass die Daten erfolgreich aktualisiert wurden. Andernfalls wird ein Fehler zurückgegeben. Spaltenwerte werden in der Klausel „Set“ geändert, während die Daten mit der Klausel „Where“ gefiltert werden.
Syntax
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
Beispiel
Hier ist der Screenshot, der den Datenbankstatus vor der Aktualisierung der Daten zeigt.
Hier ist der Schnappschuss der Hingerichteten Cassandra Update-Befehl, der den Datensatz in der Student-Tabelle aktualisiert.
Update University.Student Set name='Hayden' Where rollno=1;
Nach erfolgreicher Ausführung der Update-Abfrage in Cassandra „Student aktualisieren“, der Name des Studenten wird von „Clark“ in „Hayden“ mit Rollennummer 1 geändert.
Hier ist der Screenshot, der den Datenbankstatus nach der Aktualisierung der Daten zeigt.
Cassandra Daten löschen
Der Befehl „Löschen“ entfernt eine ganze Zeile oder einige Spalten aus der Tabelle Student. Wenn Daten gelöscht werden, werden sie nicht sofort aus der Tabelle gelöscht. Stattdessen werden gelöschte Daten mit einem Tombstone markiert und nach der Komprimierung entfernt.
Syntax
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Die obige Cassandra Die Syntax zum Löschen von Zeilen löscht eine oder mehrere Zeilen, abhängig von der Datenfilterung in der Where-Klausel.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Die obige Syntax löscht einige Spalten aus der Tabelle.
Beispiel
Hier ist der Snapshot, der den aktuellen Datenbankstatus vor dem Löschen von Daten zeigt.
Hier ist die Momentaufnahme des Befehls, der eine Zeile aus der Tabelle „Student“ entfernt.
Delete from University.Student where rollno=1;
Nach erfolgreicher Ausführung des CQL-Befehls „Löschen“ wird eine Zeile aus der Tabelle „Student“ gelöscht, wobei der Rollno-Wert 1 ist.
Hier ist der Snapshot, der den Datenbankstatus nach dem Löschen von Daten zeigt.
Was Cassandra nicht unterstützt
Es gibt folgende Einschränkungen in Cassandra Abfragesprache (CQL).
- CQL unterstützt keine Aggregationsabfragen wie max, min, avg
- CQL unterstützt keine Gruppierung nach Abfragen.
- CQL unterstützt keine Verknüpfungen.
- CQL unterstützt keine ODER-Abfragen.
- CQL unterstützt keine Platzhalterabfragen.
- CQL unterstützt keine Union- und Intersection-Abfragen.
- Tabellenspalten können nicht gefiltert werden, ohne den Index zu erstellen.
- Größer als (>) und kleiner als (<)-Abfragen werden nur in Clusterspalten unterstützt. Cassandra Die Abfragesprache ist für Analysezwecke nicht geeignet, da sie so viele Einschränkungen aufweist.
Cassandra Where-Klausel
In CassandraDer Datenabruf ist ein heikles Thema. Die Spalte wird eingefiltert Cassandra durch Erstellen eines Index für Nicht-Primärschlüsselspalten.
Syntax
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Beispiel
- Hier ist der Schnappschuss, der den Datenabruf aus der Student-Tabelle ohne Datenfilterung zeigt.
select * from University.Student;
Zwei Datensätze werden aus der Student-Tabelle abgerufen.
- Hier ist der Schnappschuss, der den Datenabruf von Student mit Datenfilterung zeigt. Ein Datensatz wird abgerufen.
Die Daten werden nach Namensspalte gefiltert. Es werden alle Datensätze abgerufen, deren Name Guru99 entspricht.
select * from University. Student where name='Guru99';