Cassandra - Créer des données
Création de données dans une table
Vous pouvez insérer des données dans les colonnes d'une ligne d'un tableau à l'aide de la commande INSERT. Vous trouverez ci-dessous la syntaxe pour créer des données dans une table.
INSERT INTO <tablename>
(<column1 name>, <column2 name>....)
VALUES (<value1>, <value2>....)
USING <option>
Exemple
Supposons qu'il existe une table appelée emp avec des colonnes (emp_id, emp_name, emp_city, emp_phone, emp_sal) et vous devez insérer les données suivantes dans le emp table.
emp_id | nom_emp | emp_city | emp_phone | emp_sal |
---|---|---|---|---|
1 | RAM | Hyderabad | 9848022338 | 50000 |
2 | merle | Hyderabad | 9848022339 | 40000 |
3 | rahman | Chennai | 9848022330 | 45 000 |
Utilisez les commandes ci-dessous pour remplir le tableau avec les données requises.
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);
Vérification
Après avoir inséré des données, utilisez l'instruction SELECT pour vérifier si les données ont été insérées ou non. Si vous vérifiez la table emp à l'aide de l'instruction SELECT, elle vous donnera la sortie suivante.
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)
Ici, vous pouvez observer que le tableau a rempli les données que nous avons insérées.
Création de données à l'aide de l'API Java
Vous pouvez créer des données dans une table à l'aide de la méthode execute () de la classe Session. Suivez les étapes ci-dessous pour créer des données dans une table à l'aide de l'API java.
Étape 1: créer un objet de cluster
Créer une instance de Cluster.builder une sorte de com.datastax.driver.core paquet comme indiqué ci-dessous.
//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();
Ajoutez un point de contact (adresse IP du nœud) à l'aide du addContactPoint() méthode de Cluster.Builderobjet. Cette méthode renvoieCluster.Builder.
//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");
À l'aide du nouvel objet de générateur, créez un objet de cluster. Pour ce faire, vous disposez d'une méthode appeléebuild() dans le Cluster.Builderclasse. Le code suivant montre comment créer un objet de cluster.
//Building a cluster
Cluster cluster = builder.build();
Vous pouvez créer un objet de cluster en utilisant une seule ligne de code comme indiqué ci-dessous.
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Étape 2: créer un objet de session
Créez une instance de l'objet Session à l'aide de la méthode connect () de la classe Cluster comme indiqué ci-dessous.
Session session = cluster.connect( );
Cette méthode crée une nouvelle session et l'initialise. Si vous avez déjà un espace de clés, vous pouvez le définir sur celui existant en passant le nom de l'espace de clé au format chaîne à cette méthode, comme indiqué ci-dessous.
Session session = cluster.connect(“ Your keyspace name ” );
Ici, nous utilisons le KeySpace appelé tp. Par conséquent, créez l'objet de session comme indiqué ci-dessous.
Session session = cluster.connect(“ tp” );
Étape 3: Exécuter la requête
Vous pouvez exécuter des requêtes CQL en utilisant la méthode execute () de la classe Session. Transmettez la requête au format chaîne ou enStatementobjet de classe à la méthode execute (). Tout ce que vous passez à cette méthode au format chaîne sera exécuté sur lecqlsh.
Dans l'exemple suivant, nous insérons des données dans une table appelée emp. Vous devez stocker la requête dans une variable chaîne et la transmettre à la méthode execute () comme indiqué ci-dessous.
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);
Vous trouverez ci-dessous le programme complet pour insérer des données dans une table dans Cassandra à l'aide de l'API Java.
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");
}
}
Enregistrez le programme ci-dessus avec le nom de la classe suivi de .java, accédez à l'emplacement où il est enregistré. Compilez et exécutez le programme comme indiqué ci-dessous.
$javac Create_Data.java
$java Create_Data
Dans des conditions normales, il devrait produire la sortie suivante -
Data created