Cassandra - tworzenie danych

Tworzenie danych w tabeli

Możesz wstawić dane do kolumn wiersza w tabeli za pomocą polecenia INSERT. Poniżej podano składnię tworzenia danych w tabeli.

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

Przykład

Załóżmy, że istnieje tabela o nazwie emp z kolumnami (emp_id, emp_name, emp_city, emp_phone, emp_sal) i musisz wstawić następujące dane do emp stół.

emp_id emp_name emp_city emp_phone emp_sal
1 Baran Hyderabad 9848022338 50000
2 rudzik Hyderabad 9848022339 40000
3 rahman Chennai 9848022330 45000

Użyj poleceń podanych poniżej, aby wypełnić tabelę wymaganymi danymi.

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);

Weryfikacja

Po wstawieniu danych użyj instrukcji SELECT, aby sprawdzić, czy dane zostały wstawione, czy nie. Jeśli zweryfikujesz tabelę emp za pomocą instrukcji SELECT, otrzymasz następujące wyniki.

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)

Tutaj możesz zaobserwować, że tabela została wypełniona danymi, które wstawiliśmy.

Tworzenie danych za pomocą Java API

Możesz tworzyć dane w tabeli za pomocą metody execute () klasy Session. Wykonaj poniższe czynności, aby utworzyć dane w tabeli przy użyciu interfejsu API języka Java.

Krok 1: Utwórz obiekt klastra

Utwórz wystąpienie Cluster.builder klasa com.datastax.driver.core pakiet, jak pokazano poniżej.

//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();

Dodaj punkt kontaktowy (adres IP węzła) za pomocą rozszerzenia addContactPoint() metoda Cluster.Builderobiekt. Ta metoda zwracaCluster.Builder.

//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");

Korzystając z nowego obiektu konstruktora, utwórz obiekt klastra. Aby to zrobić, masz metodę o nazwiebuild() w Cluster.Builderklasa. Poniższy kod przedstawia sposób tworzenia obiektu klastra.

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

Możesz zbudować obiekt klastra przy użyciu jednej linii kodu, jak pokazano poniżej.

Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

Krok 2: Utwórz obiekt sesji

Utwórz wystąpienie obiektu Session za pomocą metody connect () klasy Cluster, jak pokazano poniżej.

Session session = cluster.connect( );

Ta metoda tworzy nową sesję i inicjuje ją. Jeśli masz już przestrzeń kluczy, możesz ustawić ją na istniejącą, przekazując nazwę KeySpace w formacie ciągu do tej metody, jak pokazano poniżej.

Session session = cluster.connect(“ Your keyspace name ” );

Tutaj używamy KeySpace o nazwie tp. Dlatego utwórz obiekt sesji, jak pokazano poniżej.

Session session = cluster.connect(“ tp” );

Krok 3: Wykonaj zapytanie

Zapytania CQL można wykonywać za pomocą metody execute () klasy Session. Przekaż zapytanie w formacie ciągu lub jako plikStatementclass na metodę execute (). Cokolwiek przekażesz do tej metody w formacie ciągu, zostanie wykonane nacqlsh.

W poniższym przykładzie wstawiamy dane do tabeli o nazwie emp. Musisz zapisać zapytanie w zmiennej łańcuchowej i przekazać je do metody execute (), jak pokazano poniżej.

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);

Poniżej podano kompletny program do wstawiania danych do tabeli w Cassandrze przy użyciu 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");
   }
}

Zapisz powyższy program z nazwą klasy, a następnie .java, przejdź do lokalizacji, w której jest zapisany. Skompiluj i uruchom program, jak pokazano poniżej.

$javac Create_Data.java
$java Create_Data

W normalnych warunkach powinien dać następujący wynik -

Data created