Cassandra - Crea tabella

Creazione di una tabella

Puoi creare una tabella usando il comando CREATE TABLE. Di seguito è riportata la sintassi per la creazione di una tabella.

Sintassi

CREATE (TABLE | COLUMNFAMILY) <tablename>
('<column-definition>' , '<column-definition>')
(WITH <option> AND <option>)

Definizione di una colonna

È possibile definire una colonna come mostrato di seguito.

column name1 data type,
column name2 data type,

example:

age int,
name text

Chiave primaria

La chiave primaria è una colonna utilizzata per identificare in modo univoco una riga. Pertanto, la definizione di una chiave primaria è obbligatoria durante la creazione di una tabella. Una chiave primaria è composta da una o più colonne di una tabella. È possibile definire una chiave primaria di una tabella come mostrato di seguito.

CREATE TABLE tablename(
   column1 name datatype PRIMARYKEY,
   column2 name data type,
   column3 name data type.
   )

or

CREATE TABLE tablename(
   column1 name datatype PRIMARYKEY,
   column2 name data type,
   column3 name data type,
   PRIMARY KEY (column1)
   )

Esempio

Di seguito è riportato un esempio per creare una tabella in Cassandra utilizzando cqlsh. Eccoci qui

  • Utilizzo dello spazio per chiavi tutorialspoint

  • Creazione di una tabella denominata emp

Conterrà dettagli come nome del dipendente, ID, città, stipendio e numero di telefono. L'ID dipendente è la chiave primaria.

cqlsh> USE tutorialspoint;
cqlsh:tutorialspoint>; CREATE TABLE emp(
   emp_id int PRIMARY KEY,
   emp_name text,
   emp_city text,
   emp_sal varint,
   emp_phone varint
   );

Verifica

L'istruzione select ti darà lo schema. Verificare la tabella utilizzando l'istruzione select come mostrato di seguito.

cqlsh:tutorialspoint> select * from emp;

 emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+----------+----------+-----------+---------

(0 rows)

Qui puoi osservare la tabella creata con le colonne date. Poiché abbiamo eliminato il punto tutorial dello spazio chiavi, non lo troverai nell'elenco degli spazi delle chiavi.

Creazione di una tabella utilizzando l'API Java

È possibile creare una tabella utilizzando il metodo execute () della classe Session. Seguire i passaggi indicati di seguito per creare una tabella utilizzando l'API Java.

Passaggio 1: creare un oggetto cluster

Prima di tutto, crea un'istanza di Cluster.builder classe di com.datastax.driver.core pacchetto come mostrato di seguito.

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

Aggiungi un punto di contatto (indirizzo IP del nodo) utilizzando il file addContactPoint() metodo di Cluster.Builderoggetto. Questo metodo restituisceCluster.Builder.

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

Utilizzando il nuovo oggetto builder, creare un oggetto cluster. Per fare ciò, hai un metodo chiamatobuild() nel Cluster.Builderclasse. Il codice seguente mostra come creare un oggetto cluster.

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

È possibile creare un oggetto cluster utilizzando una singola riga di codice come mostrato di seguito.

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

Passaggio 2: creare un oggetto sessione

Crea un'istanza dell'oggetto Session utilizzando il connect() metodo di Cluster classe come mostrato di seguito.

Session session = cluster.connect( );

Questo metodo crea una nuova sessione e la inizializza. Se si dispone già di uno spazio per le chiavi, è possibile impostarlo su quello esistente passando il nome dello spazio per le chiavi in ​​formato stringa a questo metodo come mostrato di seguito.

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

Qui stiamo usando il keyspace denominato tp. Pertanto, creare l'oggetto sessione come mostrato di seguito.

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

Passaggio 3: eseguire la query

È possibile eseguire query CQL utilizzando il metodo execute () della classe Session. Passa la query in formato stringa o come oggetto della classe Statement al metodo execute (). Qualunque cosa passi a questo metodo in formato stringa verrà eseguita su cqlsh.

Nell'esempio seguente, stiamo creando una tabella denominata emp. È necessario memorizzare la query in una variabile stringa e passarla al metodo execute () come mostrato di seguito.

//Query
String query = "CREATE TABLE emp(emp_id int PRIMARY KEY, "
   + "emp_name text, "
   + "emp_city text, "
   + "emp_sal varint, "
   + "emp_phone varint );";
session.execute(query);

Di seguito è riportato il programma completo per creare e utilizzare un keyspace in Cassandra utilizzando l'API Java.

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

public class Create_Table {

   public static void main(String args[]){

      //Query
      String query = "CREATE TABLE emp(emp_id int PRIMARY KEY, "
         + "emp_name text, "
         + "emp_city text, "
         + "emp_sal varint, "
         + "emp_phone varint );";
		
      //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("Table created");
   }
}

Salva il programma sopra con il nome della classe seguito da .java, vai alla posizione in cui è stato salvato. Compilare ed eseguire il programma come mostrato di seguito.

$javac Create_Table.java
$java Create_Table

In condizioni normali, dovrebbe produrre il seguente output:

Table created