Кассандра - Создать стол

Создание таблицы

Вы можете создать таблицу с помощью команды CREATE TABLE. Ниже приведен синтаксис для создания таблицы.

Синтаксис

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

Определение столбца

Вы можете определить столбец, как показано ниже.

column name1 data type,
column name2 data type,

example:

age int,
name text

Основной ключ

Первичный ключ - это столбец, который используется для однозначной идентификации строки. Следовательно, определение первичного ключа обязательно при создании таблицы. Первичный ключ состоит из одного или нескольких столбцов таблицы. Вы можете определить первичный ключ таблицы, как показано ниже.

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

пример

Ниже приведен пример создания таблицы в Cassandra с использованием cqlsh. Вот и мы -

  • Использование keypace tutorialspoint

  • Создание таблицы с именем emp

Он будет содержать такие данные, как имя сотрудника, идентификатор, город, зарплата и номер телефона. Идентификатор сотрудника - это первичный ключ.

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

Проверка

Оператор select предоставит вам схему. Проверьте таблицу с помощью оператора select, как показано ниже.

cqlsh:tutorialspoint> select * from emp;

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

(0 rows)

Здесь вы можете увидеть таблицу, созданную с данными столбцами. Поскольку мы удалили учебную точку по пространству ключей, вы не найдете ее в списке пространств ключей.

Создание таблицы с использованием Java API

Вы можете создать таблицу, используя метод execute () класса Session. Следуйте инструкциям ниже, чтобы создать таблицу с помощью Java API.

Шаг 1. Создайте кластерный объект.

Прежде всего, создайте экземпляр Cluster.builder класс com.datastax.driver.core пакет, как показано ниже.

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

Добавьте точку контакта (IP-адрес узла), используя addContactPoint() метод Cluster.Builderобъект. Этот метод возвращаетCluster.Builder.

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

Используя новый объект построителя, создайте объект кластера. Для этого у вас есть метод под названиемbuild() в Cluster.Builderкласс. В следующем коде показано, как создать объект кластера.

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

Вы можете построить объект кластера, используя одну строку кода, как показано ниже.

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

Шаг 2. Создайте объект сеанса

Создайте экземпляр объекта Session, используя connect() метод Cluster класс, как показано ниже.

Session session = cluster.connect( );

Этот метод создает новый сеанс и инициализирует его. Если у вас уже есть пространство ключей, вы можете установить его в существующее, передав имя пространства ключей в строковом формате этому методу, как показано ниже.

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

Здесь мы используем пространство ключей с именем tp. Поэтому создайте объект сеанса, как показано ниже.

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

Шаг 3: Выполнить запрос

Вы можете выполнять запросы CQL, используя метод execute () класса Session. Передайте запрос в строковом формате или в виде объекта класса Statement методу execute (). Все, что вы передадите этому методу в строковом формате, будет выполнено в cqlsh.

В следующем примере мы создаем таблицу с именем emp. Вы должны сохранить запрос в строковой переменной и передать его методу execute (), как показано ниже.

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

Ниже приведена полная программа для создания и использования пространства ключей в Cassandra с использованием 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");
   }
}

Сохраните указанную выше программу с именем класса, за которым следует .java, перейдите в место, где она сохранена. Скомпилируйте и выполните программу, как показано ниже.

$javac Create_Table.java
$java Create_Table

В нормальных условиях он должен выдавать следующий результат -

Table created