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“.

Daten einfügen

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 einfügen

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.

Daten aktualisieren

Hier ist der Schnappschuss der Hingerichteten Cassandra Update-Befehl, der den Datensatz in der Student-Tabelle aktualisiert.

Daten aktualisieren

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.

Daten aktualisieren

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.

Cassandra Daten löschen

Hier ist die Momentaufnahme des Befehls, der eine Zeile aus der Tabelle „Student“ entfernt.

Cassandra Daten löschen

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.

Cassandra Daten löschen

Was Cassandra nicht unterstützt

Es gibt folgende Einschränkungen in Cassandra Abfragesprache (CQL).

  1. CQL unterstützt keine Aggregationsabfragen wie max, min, avg
  2. CQL unterstützt keine Gruppierung nach Abfragen.
  3. CQL unterstützt keine Verknüpfungen.
  4. CQL unterstützt keine ODER-Abfragen.
  5. CQL unterstützt keine Platzhalterabfragen.
  6. CQL unterstützt keine Union- und Intersection-Abfragen.
  7. Tabellenspalten können nicht gefiltert werden, ohne den Index zu erstellen.
  8. 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.

Cassandra Where-Klausel

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.

Cassandra Where-Klausel

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