Cassandra - Daten aktualisieren
Aktualisieren von Daten in einer Tabelle
UPDATEist der Befehl zum Aktualisieren von Daten in einer Tabelle. Die folgenden Schlüsselwörter werden beim Aktualisieren von Daten in einer Tabelle verwendet:
Where - Mit dieser Klausel wird die zu aktualisierende Zeile ausgewählt.
Set - Legen Sie den Wert mit diesem Schlüsselwort fest.
Must - Beinhaltet alle Spalten, aus denen der Primärschlüssel besteht.
Wenn beim Aktualisieren von Zeilen eine bestimmte Zeile nicht verfügbar ist, erstellt UPDATE eine neue Zeile. Im Folgenden ist die Syntax des UPDATE-Befehls angegeben.
UPDATE <tablename>
SET <column name> = <new value>
<column name> = <value>....
WHERE <condition>
Beispiel
Angenommen, es gibt eine Tabelle mit dem Namen emp. Diese Tabelle speichert die Details der Mitarbeiter eines bestimmten Unternehmens und enthält die folgenden Details:
emp_id | emp_name | emp_city | emp_phone | emp_sal |
---|---|---|---|---|
1 | RAM | Hyderabad | 9848022338 | 50000 |
2 | Robin | Hyderabad | 9848022339 | 40000 |
3 | rahman | Chennai | 9848022330 | 45000 |
Lassen Sie uns jetzt emp_city of robin nach Delhi und sein Gehalt auf 50000 aktualisieren. Nachfolgend finden Sie die Abfrage, um die erforderlichen Aktualisierungen durchzuführen.
cqlsh:tutorialspoint> UPDATE emp SET emp_city='Delhi',emp_sal=50000
WHERE emp_id=2;
Überprüfung
Verwenden Sie die SELECT-Anweisung, um zu überprüfen, ob die Daten aktualisiert wurden oder nicht. Wenn Sie die Tabelle emp mit der Anweisung SELECT überprüfen, wird die folgende Ausgabe ausgegeben.
cqlsh:tutorialspoint> select * from emp;
emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+-----------+----------+------------+---------
1 | Hyderabad | ram | 9848022338 | 50000
2 | Delhi | robin | 9848022339 | 50000
3 | Chennai | rahman | 9848022330 | 45000
(3 rows)
Hier können Sie beobachten, dass die Tabellendaten aktualisiert wurden.
Aktualisieren von Daten mithilfe der Java-API
Sie können Daten in einer Tabelle mit der Methode execute () der Sitzungsklasse aktualisieren. Führen Sie die folgenden Schritte aus, um Daten in einer Tabelle mithilfe der Java-API zu aktualisieren.
Schritt 1: Erstellen Sie ein Clusterobjekt
Erstellen Sie eine Instanz von Cluster.builder Klasse von com.datastax.driver.core Paket wie unten gezeigt.
//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();
Fügen Sie einen Kontaktpunkt (IP-Adresse des Knotens) hinzu addContactPoint() Methode von Cluster.BuilderObjekt. Diese Methode gibt zurückCluster.Builder.
//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");
Erstellen Sie mit dem neuen Builder-Objekt ein Cluster-Objekt. Dazu haben Sie eine Methode namensbuild() in dem Cluster.BuilderKlasse. Verwenden Sie den folgenden Code, um das Clusterobjekt zu erstellen.
//Building a cluster
Cluster cluster = builder.build();
Sie können das Clusterobjekt mit einer einzelnen Codezeile erstellen, wie unten gezeigt.
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Schritt 2: Erstellen Sie ein Sitzungsobjekt
Erstellen Sie eine Instanz des Sitzungsobjekts mit der Methode connect () der Cluster-Klasse (siehe unten).
Session session = cluster.connect( );
Diese Methode erstellt eine neue Sitzung und initialisiert sie. Wenn Sie bereits über einen Schlüsselbereich verfügen, können Sie ihn auf den vorhandenen festlegen, indem Sie den KeySpace-Namen im Zeichenfolgenformat wie unten gezeigt an diese Methode übergeben.
Session session = cluster.connect(“ Your keyspace name”);
Hier verwenden wir den genannten KeySpace tp. Erstellen Sie daher das Sitzungsobjekt wie unten gezeigt.
Session session = cluster.connect(“tp”);
Schritt 3: Abfrage ausführen
Sie können CQL-Abfragen mit der Methode execute () der Session-Klasse ausführen. Übergeben Sie die Abfrage entweder im Zeichenfolgenformat oder als Anweisungsklassenobjekt an die Methode execute (). Was auch immer Sie im String-Format an diese Methode übergeben, wird auf dem ausgeführtcqlsh.
Im folgenden Beispiel aktualisieren wir die emp-Tabelle. Sie müssen die Abfrage in einer Zeichenfolgenvariablen speichern und wie unten gezeigt an die Methode execute () übergeben:
String query = “ UPDATE emp SET emp_city='Delhi',emp_sal=50000
WHERE emp_id = 2;” ;
Im Folgenden finden Sie das vollständige Programm zum Aktualisieren von Daten in einer Tabelle mithilfe der Java-API.
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
public class Update_Data {
public static void main(String args[]){
//query
String query = " UPDATE emp SET emp_city='Delhi',emp_sal=50000"
//Creating Cluster object
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
//Creating Session object
Session session = cluster.connect("tp");
//Executing the query
session.execute(query);
System.out.println("Data updated");
}
}
Speichern Sie das obige Programm mit dem Klassennamen gefolgt von .java und navigieren Sie zu dem Speicherort, an dem es gespeichert ist. Kompilieren Sie das Programm und führen Sie es wie unten gezeigt aus.
$javac Update_Data.java
$java Update_Data
Unter normalen Bedingungen sollte die folgende Ausgabe erzeugt werden:
Data updated