Cassandra - Crear tabla

Crear una tabla

Puedes crear una tabla usando el comando CREATE TABLE. A continuación se muestra la sintaxis para crear una tabla.

Sintaxis

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

Definición de una columna

Puede definir una columna como se muestra a continuación.

column name1 data type,
column name2 data type,

example:

age int,
name text

Clave primaria

La clave principal es una columna que se utiliza para identificar de forma exclusiva una fila. Por lo tanto, es obligatorio definir una clave principal al crear una tabla. Una clave primaria está formada por una o más columnas de una tabla. Puede definir una clave principal de una tabla como se muestra a continuación.

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

Ejemplo

A continuación se muestra un ejemplo para crear una tabla en Cassandra usando cqlsh. Aquí estamos

  • Uso del punto de tutoriales del espacio de claves

  • Creando una tabla llamada emp

Tendrá detalles como el nombre del empleado, identificación, ciudad, salario y número de teléfono. La identificación del empleado es la clave principal.

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

Verificación

La declaración de selección le dará el esquema. Verifique la tabla usando la declaración de selección como se muestra a continuación.

cqlsh:tutorialspoint> select * from emp;

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

(0 rows)

Aquí puede observar la tabla creada con las columnas dadas. Dado que hemos eliminado el punto de tutoría del espacio de claves, no lo encontrará en la lista de espacios de claves.

Crear una tabla usando la API de Java

Puede crear una tabla usando el método execute () de la clase Session. Siga los pasos que se indican a continuación para crear una tabla utilizando la API de Java.

Paso 1: crear un objeto de clúster

En primer lugar, cree una instancia del Cluster.builder clase de com.datastax.driver.core paquete como se muestra a continuación.

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

Agregue un punto de contacto (dirección IP del nodo) usando el addContactPoint() método de Cluster.Builderobjeto. Este método devuelveCluster.Builder.

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

Con el nuevo objeto generador, cree un objeto de clúster. Para hacerlo, tienes un método llamadobuild() en el Cluster.Builderclase. El siguiente código muestra cómo crear un objeto de clúster.

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

Puede crear un objeto de clúster con una sola línea de código como se muestra a continuación.

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

Paso 2: crear un objeto de sesión

Cree una instancia del objeto Session usando el connect() método de Cluster clase como se muestra a continuación.

Session session = cluster.connect( );

Este método crea una nueva sesión y la inicializa. Si ya tiene un espacio de claves, puede establecerlo en el existente pasando el nombre del espacio de claves en formato de cadena a este método como se muestra a continuación.

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

Aquí estamos usando el espacio de teclas llamado tp. Por lo tanto, cree el objeto de sesión como se muestra a continuación.

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

Paso 3: ejecutar la consulta

Puede ejecutar consultas CQL utilizando el método execute () de la clase Session. Pase la consulta en formato de cadena o como un objeto de clase Statement al método execute (). Todo lo que pase a este método en formato de cadena se ejecutará en cqlsh.

En el siguiente ejemplo, estamos creando una tabla llamada emp. Debe almacenar la consulta en una variable de cadena y pasarla al método execute () como se muestra a continuación.

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

A continuación se muestra el programa completo para crear y usar un espacio de claves en Cassandra usando la API de 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");
   }
}

Guarde el programa anterior con el nombre de la clase seguido de .java, busque la ubicación donde está guardado. Compile y ejecute el programa como se muestra a continuación.

$javac Create_Table.java
$java Create_Table

En condiciones normales, debería producir la siguiente salida:

Table created