Cassandra - Utwórz tabelę
Tworzenie tabeli
Możesz utworzyć tabelę za pomocą polecenia CREATE TABLE. Poniżej podano składnię tworzenia tabeli.
Składnia
CREATE (TABLE | COLUMNFAMILY) <tablename>
('<column-definition>' , '<column-definition>')
(WITH <option> AND <option>)
Definiowanie kolumny
Możesz zdefiniować kolumnę, jak pokazano poniżej.
column name1 data type,
column name2 data type,
example:
age int,
name text
Klucz podstawowy
Klucz podstawowy to kolumna używana do jednoznacznego identyfikowania wiersza. Dlatego zdefiniowanie klucza podstawowego jest obowiązkowe podczas tworzenia tabeli. Klucz podstawowy składa się z co najmniej jednej kolumny tabeli. Możesz zdefiniować klucz podstawowy tabeli, jak pokazano poniżej.
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)
)
Przykład
Poniżej podano przykład tworzenia tabeli w Cassandrze przy użyciu cqlsh. Tutaj jesteśmy -
Korzystanie z samouczka dotyczącego przestrzeni klawiszy
Tworzenie tabeli o nazwie emp
Będzie zawierał takie szczegóły, jak imię i nazwisko pracownika, identyfikator, miasto, wynagrodzenie i numer telefonu. Identyfikator pracownika jest kluczem podstawowym.
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
);
Weryfikacja
Instrukcja select da ci schemat. Sprawdź tabelę za pomocą instrukcji select, jak pokazano poniżej.
cqlsh:tutorialspoint> select * from emp;
emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+----------+----------+-----------+---------
(0 rows)
Tutaj możesz obserwować tabelę utworzoną z podanymi kolumnami. Ponieważ usunęliśmy samouczek dotyczący przestrzeni klawiszy, nie znajdziesz go na liście przestrzeni kluczy.
Tworzenie tabeli przy użyciu Java API
Tabelę można utworzyć za pomocą metody execute () klasy Session. Wykonaj poniższe czynności, aby utworzyć tabelę za pomocą interfejsu API języka Java.
Krok 1: Utwórz obiekt klastra
Przede wszystkim utwórz wystąpienie Cluster.builder klasa com.datastax.driver.core pakiet, jak pokazano poniżej.
//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();
Dodaj punkt kontaktowy (adres IP węzła) za pomocą rozszerzenia addContactPoint() metoda Cluster.Builderobiekt. Ta metoda zwracaCluster.Builder.
//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint( "127.0.0.1" );
Korzystając z nowego obiektu konstruktora, utwórz obiekt klastra. Aby to zrobić, masz metodę o nazwiebuild() w Cluster.Builderklasa. Poniższy kod przedstawia sposób tworzenia obiektu klastra.
//Building a cluster
Cluster cluster = builder.build();
Możesz zbudować obiekt klastra przy użyciu jednej linii kodu, jak pokazano poniżej.
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Krok 2: Utwórz obiekt sesji
Utwórz wystąpienie obiektu Session przy użyciu connect() metoda Cluster klasa, jak pokazano poniżej.
Session session = cluster.connect( );
Ta metoda tworzy nową sesję i inicjuje ją. Jeśli masz już obszar kluczy, możesz ustawić go na istniejący, przekazując nazwę obszaru kluczy w formacie ciągu do tej metody, jak pokazano poniżej.
Session session = cluster.connect(“ Your keyspace name ” );
Tutaj używamy nazwanej przestrzeni kluczy tp. Dlatego utwórz obiekt sesji, jak pokazano poniżej.
Session session = cluster.connect(“ tp” );
Krok 3: Wykonaj zapytanie
Zapytania CQL można wykonywać za pomocą metody execute () klasy Session. Przekaż zapytanie w formacie ciągu znaków lub jako obiekt klasy Statement do metody execute (). Cokolwiek przekażesz do tej metody w formacie łańcucha, zostanie wykonane na cqlsh.
W poniższym przykładzie tworzymy tabelę o nazwie emp. Musisz zapisać zapytanie w zmiennej łańcuchowej i przekazać je do metody execute (), jak pokazano poniżej.
//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);
Poniżej podano kompletny program do tworzenia i używania przestrzeni kluczy w Cassandrze przy użyciu 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");
}
}
Zapisz powyższy program z nazwą klasy, a następnie .java, przejdź do lokalizacji, w której jest zapisany. Skompiluj i uruchom program, jak pokazano poniżej.
$javac Create_Table.java
$java Create_Table
W normalnych warunkach powinien dać następujący wynik -
Table created