Cassandra - Tabelle erstellen

Erstellen einer Tabelle

Mit dem Befehl können Sie eine Tabelle erstellen CREATE TABLE. Im Folgenden wird die Syntax zum Erstellen einer Tabelle angegeben.

Syntax

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

Eine Spalte definieren

Sie können eine Spalte wie unten gezeigt definieren.

column name1 data type,
column name2 data type,

example:

age int,
name text

Primärschlüssel

Der Primärschlüssel ist eine Spalte, mit der eine Zeile eindeutig identifiziert wird. Daher ist beim Erstellen einer Tabelle das Definieren eines Primärschlüssels obligatorisch. Ein Primärschlüssel besteht aus einer oder mehreren Spalten einer Tabelle. Sie können einen Primärschlüssel einer Tabelle wie unten gezeigt definieren.

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

Beispiel

Im Folgenden finden Sie ein Beispiel zum Erstellen einer Tabelle in Cassandra mit cqlsh. Hier sind wir -

  • Verwenden des Schlüsselbereichs tutorialspoint

  • Erstellen einer Tabelle mit dem Namen emp

Es enthält Details wie Name des Mitarbeiters, ID, Stadt, Gehalt und Telefonnummer. Mitarbeiter-ID ist der Primärschlüssel.

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

Überprüfung

Die select-Anweisung gibt Ihnen das Schema. Überprüfen Sie die Tabelle mit der select-Anweisung wie unten gezeigt.

cqlsh:tutorialspoint> select * from emp;

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

(0 rows)

Hier können Sie die Tabelle beobachten, die mit den angegebenen Spalten erstellt wurde. Da wir den Schlüsselbereich-Tutorialpunkt gelöscht haben, finden Sie ihn nicht in der Schlüsselbereichsliste.

Erstellen einer Tabelle mit der Java-API

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

Schritt 1: Erstellen Sie ein Clusterobjekt

Erstellen Sie zunächst 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 dem connect() Methode von Cluster Klasse wie unten gezeigt.

Session session = cluster.connect( );

Diese Methode erstellt eine neue Sitzung und initialisiert sie. Wenn Sie bereits einen Schlüsselraum haben, können Sie ihn auf den vorhandenen festlegen, indem Sie den Schlüsselraumnamen im Zeichenfolgenformat wie unten gezeigt an diese Methode übergeben.

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

Hier verwenden wir den genannten Schlüsselraum 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 als Anweisungsklassenobjekt an die Methode execute (). Was auch immer Sie im String-Format an diese Methode übergeben, wird auf dem cqlsh ausgeführt.

Im folgenden Beispiel erstellen wir eine Tabelle mit dem Namen emp. Sie müssen die Abfrage in einer Zeichenfolgenvariablen speichern und wie unten gezeigt an die Methode execute () übergeben.

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

Im Folgenden finden Sie das vollständige Programm zum Erstellen und Verwenden eines Schlüsselbereichs in Cassandra mithilfe der Java-API.

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

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_Table.java
$java Create_Table

Unter normalen Bedingungen sollte die folgende Ausgabe erzeugt werden:

Table created