Cassandra - Tablo Oluştur

Tablo Oluşturmak

Komutu kullanarak bir tablo oluşturabilirsiniz CREATE TABLE. Aşağıda bir tablo oluşturmak için sözdizimi verilmiştir.

Sözdizimi

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

Bir Sütun Tanımlama

Aşağıda gösterildiği gibi bir sütun tanımlayabilirsiniz.

column name1 data type,
column name2 data type,

example:

age int,
name text

Birincil anahtar

Birincil anahtar, bir satırı benzersiz şekilde tanımlamak için kullanılan bir sütundur. Bu nedenle, tablo oluştururken birincil anahtarın tanımlanması zorunludur. Birincil anahtar, bir tablonun bir veya daha fazla sütunundan oluşur. Aşağıda gösterildiği gibi bir tablonun birincil anahtarını tanımlayabilirsiniz.

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

Misal

Aşağıda, cqlsh kullanarak Cassandra'da bir tablo oluşturmak için bir örnek verilmiştir. İşte buradayız -

  • Keyspace öğretici noktasını kullanma

  • Adlı bir tablo oluşturmak emp

Çalışan adı, kimliği, şehri, maaşı ve telefon numarası gibi detaylara sahip olacaktır. Çalışan kimliği birincil anahtardır.

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

Doğrulama

Select deyimi size şemayı verecektir. Aşağıda gösterildiği gibi select deyimini kullanarak tabloyu doğrulayın.

cqlsh:tutorialspoint> select * from emp;

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

(0 rows)

Burada verilen sütunlarla oluşturulan tabloyu gözlemleyebilirsiniz. Keyspace tutorialspoint'i sildiğimizden, onu keyspaces listesinde bulamayacaksınız.

Java API kullanarak Tablo Oluşturma

Session sınıfının execute () yöntemini kullanarak bir tablo oluşturabilirsiniz. Java API kullanarak bir tablo oluşturmak için aşağıdaki adımları izleyin.

Adım 1: Küme Nesnesi Oluşturun

Her şeyden önce, bir örnek oluşturun Cluster.builder sınıfı com.datastax.driver.core aşağıda gösterildiği gibi paketleyin.

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

Kullanarak bir iletişim noktası (düğümün IP adresi) ekleyin. addContactPoint() yöntemi Cluster.Buildernesne. Bu yöntem döndürürCluster.Builder.

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

Yeni oluşturucu nesnesini kullanarak bir küme nesnesi oluşturun. Bunu yapmak için adında bir yönteminiz varbuild() içinde Cluster.Buildersınıf. Aşağıdaki kod, bir küme nesnesinin nasıl oluşturulacağını gösterir.

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

Aşağıda gösterildiği gibi tek bir kod satırı kullanarak bir küme nesnesi oluşturabilirsiniz.

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

Adım 2: Bir Oturum Nesnesi Oluşturun

Kullanarak Session nesnesinin bir örneğini oluşturun. connect() yöntemi Cluster aşağıda gösterildiği gibi sınıf.

Session session = cluster.connect( );

Bu yöntem yeni bir oturum oluşturur ve onu başlatır. Zaten bir anahtar alanınız varsa, aşağıda gösterildiği gibi bu yönteme dize biçiminde anahtar alanı adını ileterek var olana ayarlayabilirsiniz.

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

Burada adlı anahtar alanını kullanıyoruz tp. Bu nedenle, aşağıda gösterildiği gibi oturum nesnesini oluşturun.

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

3. Adım: Sorguyu Çalıştırın

Session sınıfının execute () yöntemini kullanarak CQL sorgularını yürütebilirsiniz. Sorguyu dize biçiminde veya bir Statement sınıfı nesnesi olarak execute () yöntemine iletin. Bu metoda string formatında ilettiğiniz her şey cqlsh üzerinde çalıştırılacaktır.

Aşağıdaki örnekte, adında bir tablo oluşturuyoruz emp. Sorguyu bir dize değişkeninde saklamanız ve aşağıda gösterildiği gibi execute () yöntemine iletmeniz gerekir.

//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şağıda, Java API kullanarak Cassandra'da bir anahtar alanı oluşturmak ve kullanmak için eksiksiz bir program verilmiştir.

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

Yukarıdaki programı sınıf adı ve ardından .java ile kaydedin, kaydedildiği konuma göz atın. Programı aşağıda gösterildiği gibi derleyin ve çalıştırın.

$javac Create_Table.java
$java Create_Table

Normal koşullar altında, aşağıdaki çıktıyı üretmelidir -

Table created