Cassandra - Daten erstellen

Daten in einer Tabelle erstellen

Mit dem Befehl können Sie Daten in die Spalten einer Zeile in einer Tabelle einfügen INSERT. Im Folgenden wird die Syntax zum Erstellen von Daten in einer Tabelle angegeben.

INSERT INTO <tablename>
(<column1 name>, <column2 name>....)
VALUES (<value1>, <value2>....)
USING <option>

Beispiel

Nehmen wir an, es gibt eine Tabelle namens emp mit Spalten (emp_id, emp_name, emp_city, emp_phone, emp_sal) und Sie müssen die folgenden Daten in die einfügen emp Tabelle.

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

Verwenden Sie die folgenden Befehle, um die Tabelle mit den erforderlichen Daten zu füllen.

cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
   emp_phone, emp_sal) VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);

cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
   emp_phone, emp_sal) VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);

cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
   emp_phone, emp_sal) VALUES(3,'rahman', 'Chennai', 9848022330, 45000);

Überprüfung

Verwenden Sie nach dem Einfügen von Daten die Anweisung SELECT, um zu überprüfen, ob die Daten eingefügt wurden oder nicht. Wenn Sie die emp-Tabelle mit der SELECT-Anweisung überprüfen, erhalten Sie die folgende Ausgabe.

cqlsh:tutorialspoint> SELECT * FROM emp;

 emp_id |  emp_city | emp_name |  emp_phone | emp_sal
--------+-----------+----------+------------+---------
      1 | Hyderabad |      ram | 9848022338 | 50000
      2 | Hyderabad |    robin | 9848022339 | 40000
      3 |   Chennai |   rahman | 9848022330 | 45000
 
(3 rows)

Hier können Sie beobachten, dass die Tabelle mit den von uns eingefügten Daten gefüllt ist.

Erstellen von Daten mit der Java-API

Sie können Daten in einer Tabelle mit der Methode execute () der Session-Klasse erstellen. Führen Sie die folgenden Schritte aus, um mithilfe der Java-API Daten in einer Tabelle zu erstellen.

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. Der folgende Code zeigt, wie Sie ein Clusterobjekt erstellen.

//Building a cluster
Cluster cluster = builder.build();

Sie können ein 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 aufgerufenen 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 alsStatementKlassenobjekt für die Methode execute (). Was auch immer Sie im String-Format an diese Methode übergeben, wird auf dem ausgeführtcqlsh.

Im folgenden Beispiel fügen wir Daten in eine aufgerufene Tabelle ein emp. Sie müssen die Abfrage in einer Zeichenfolgenvariablen speichern und wie unten gezeigt an die Methode execute () übergeben.

String query1 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
   VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);” ;
 
String query2 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
   VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);” ;
 
String query3 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
   VALUES(3,'rahman', 'Chennai', 9848022330, 45000);” ;
 
session.execute(query1);
session.execute(query2);
session.execute(query3);

Im Folgenden finden Sie das vollständige Programm zum Einfügen von Daten in eine Tabelle in Cassandra mithilfe der Java-API.

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;

public class Create_Data {

   public static void main(String args[]){

      //queries
      String query1 = "INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone,  emp_sal)"
		
         + " VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);" ;
                             
      String query2 = "INSERT INTO emp (emp_id, emp_name, emp_city,
         emp_phone, emp_sal)"
      
         + " VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);" ;
                             
      String query3 = "INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)"
       
         + " VALUES(3,'rahman', 'Chennai', 9848022330, 45000);" ;

      //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(query1);
        
      session.execute(query2);
        
      session.execute(query3);
        
      System.out.println("Data created");
   }
}

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 Create_Data.java
$java Create_Data

Unter normalen Bedingungen sollte die folgende Ausgabe erzeugt werden:

Data created