Хэрэглэгчийн яриа:B140970198

Page contents not supported in other languages.

Cassandra - Create Table,Alter table,Drop table /Кассандра - Хүснэгт үүсгэх,Өөрчлөлт Хүснэгт,Устгах хүснэгт/[кодоор засварлах]

                                                    Хүснэгт үүсгэх

Cqlsh ашиглан хүснэгт үүсгэх Та CREATE TABLE командыг ашиглан хүснэгт үүсгэж болно. Доорх хүснэгтийг үүсгэх синтаксSyntax бол

--B140970198 (talk) 09:47, 8 Арваннэгдүгээр сар 2017 (UTC)Синтакс 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.
  )

эсвэл CREATE TABLE tablename(

  column1 name datatype PRIMARYKEY,
  column2 name data type,
  column3 name data type,
  PRIMARY KEY (column1)
  )

Жишээ нь: Доорхи жишээнээс харахад cqlsh ашиглан Cassandra дахь хүснэгт үүсгэх жишээ юм. Бид энд байна:

.Зааварчилгааны түлхүүр үг ашиглах

.Цонх гэж нэрлэгдсэн хүснэгт үүсгэх

Энэ нь ажилтны нэр, дугаар, хот, цалин, утасны дугаар гэх мэт дэлгэрэнгүй мэдээллийг агуулсан болно. Ажилчдын ID бол үндсэн түлхүүр юм. 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
  );

Баталгаажуулалт Сонгогдсон мэдэгдэл танд схемийг өгөх болно. Доор харуулсан шиг сонгогдсон мэдэгдлийг ашиглан хүснэгтийг шалгана уу. cqlsh:tutorialspoint> select * from emp;

emp_id | emp_city | emp_name | emp_phone | emp_sal

+----------+----------+-----------+---------

(0 rows) Орчуулах

Here you can observe the table created with the given columns. Since we have deleted the keyspace tutorialspoint, you will not find it in the keyspaces list.

Creating a Table using Java API You can create a table using the execute() method of Session class. Follow the steps given below to create a table using Java API.

Энд байгаа багануудтай үүсгэсэн хүснэгтийг ажиглаж болно. Бид зааж өгсөн түлхүүр үгнүүдийг устгасан тул та түлхүүрүүдийг жагсаалтад оруулахгүй.

Java API ашиглан Хүснэгт үүсгэх Та хичээл ангийн execute () аргыг ашиглан хүснэгт үүсгэж болно. Java API ашиглан хүснэгт үүсгэхийн тулд доорх алхмуудыг дагана уу. Алхам1: Бүлгийн бүлгийг үүсгэх Юуны өмнө, доор үзүүлсэн шиг com.datastax.driver.core багцын Cluster.builder class багцыг үүсгэ. //Creating Cluster.Builder object Cluster.Builder builder1 = Cluster.builder(); Кластерын addContactPoint () аргыг ашиглан холбоо барих цэг (цэгийн IP хаяг) нэмнэ. Энэ арга нь Cluster.Builder-ийг буцаана. //Adding contact point to the Cluster.Builder object Cluster.Builder builder2 = build.addContactPoint( "127.0.0.1" ); Шинэ бүтээх объектыг ашиглан кластерийн объект үүсгэнэ. Үүнийг хийхийн тулд кластерт бий болгох бүтээлд () бий. Дараах код нь кластерийн объектыг хэрхэн үүсгэхийг харуулж байна. //Building a cluster Cluster cluster = builder.build(); Кластерийн объектыг дор үзүүлсний дагуу нэг мөр кодыг ашиглан үүсгэж болно. Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build(); Алхам 2: Session Object үүсгэнэ үү Бүлгийн объектыг доор үзүүлсэн шиг кластерийн холболтын () аргыг ашиглан үүсгэнэ. Session session = cluster.connect( ); Энэ арга нь шинэ сесс үүсгэж түүнийг эхлүүлнэ. Хэрвээ та аль хэдийнээ зайтай байгаа бол, үүнийг доорх байдлаар харуулсан форматыг ашиглана. Session session = cluster.connect(“ Your keyspace name ” ); Энд бид tp нэртэй түлхүүр зай ашигладаг. Тиймээс доор үзүүлсэн шиг сесс объектыг үүсгэ. Session session = cluster.connect(“ tp” ); Алхам 3: Query хайх Та CQL хайлтыг Session классын execute () аргыг ашиглан гүйцэтгэж болно. Хайлтын мөрийг форматаар эсвэл Тайлбар ангийн объектыг гүйцэтгэх () аргыг ашиглаж болно. Хэрвээ та энэ арганд энэ аргыг ашигласан бол cqlsh дээр ажиллуулна.

Дараах жишээнд бид нэртэй хүснэгт үүсгэж байна. Та хүсэлтийг string хувьсагчид хадгалж доор үзүүлсэн шиг гүйцэтгэх () аргаар үүнийг дамжуулна. //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); Доорх нь Java API ашиглан Cassandra дахь түлхүүр талбарыг үүсгэх, ашиглах бүрэн програм юм. 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

                                                    Өөрчлөлт Хүснэгт

Cqlsh ашиглан хүснэгтийг өөрчлөх нь Та ALTER TABLE командыг ашиглан хүснэгтийг өөрчилж болно. Доорх хүснэгтийг үүсгэх синтакс бол Syntax ALTER (TABLE | COLUMNFAMILY) <tablename> <instruction> ALTER командыг ашиглан та дараах үйлдлүүдийг хийж болно:

Багана нэмэх

Багана хая

Багана нэмэх ALTER командыг ашиглан та баганыг хүснэгтэд нэмэх боломжтой. Багана нэмэх үед баганын нэр нь одоо байгаа баганын нэртэй зөрчилдөхгүй бөгөөд хүснэгтийг компакт хадгалалтын сонголтоор тодорхойлоогүй гэдгийг анхаарах хэрэгтэй. Доорхи хүснэгтэд баганыг нэмэх синтакс байна. ALTER TABLE table name ADD new column datatype; Жишээ нь

Доорхи жишээнд үзүүлсэн багананд багана нэмэх жишээ байна. Энд бид текст өгөгдлийн emp_email нэртэй багана-д emp гэж нэрлэгдсэн хүснэгтэд нэмэх болно.

cqlsh:tutorialspoint> ALTER TABLE emp

  ... ADD emp_email text;

Баталгаажуулалт

Багана нэмэгдсэн эсэхийг магадлахын тулд SELECT мэдэгдлийг ашиглана уу. Энд шинээр нэмсэн баганад emp_email ажиглаж болно.

cqlsh:tutorialspoint> select * from emp;

emp_id | emp_city | emp_email | emp_name | emp_phone | emp_sal

+----------+-----------+----------+-----------+---------

Emp_email багана устгагдсан болохоор та үүнийг дахиж олохгүй.

Java API ашиглан Хүснэгтийг өөрчлөх нь Та хичээл ангийн execute () аргыг ашиглан хүснэгт үүсгэж болно. Java API ашиглан хүснэгтийг өөрчлөхийн тулд доорх алхмуудыг дагана уу.

Алхам1: Бүлгийн бүлгийг үүсгэх Юуны өмнө, доор үзүүлсэн шиг com.datastax.driver.core багцын Cluster.builder class-ийн жишээг үүсгэ.

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

Кластерын addContactPoint () аргыг ашиглан холбоо барих цэг (цэгийн IP хаяг) нэмнэ. Энэ арга нь Cluster.Builder-ийг буцаана.

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

Шинэ бүтээх объектыг ашиглан кластерийн объект үүсгэнэ. Үүнийг хийхийн тулд кластерт бий болгох бүтээлд () бий. Дараах код нь кластерийн объектыг хэрхэн үүсгэхийг харуулж байна.

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

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

Алхам 2: Session Object үүсгэнэ үү Бүлгийн объектыг доор үзүүлсэн шиг кластерийн холболтын () аргыг ашиглан үүсгэнэ.

Session session = cluster.connect( );

Энэ арга нь шинэ сесс үүсгэж түүнийг эхлүүлнэ. Хэрэв та аль хэдийн түлхүүр зайтай бол, үүнийг доорх байдлаар харуулсан форматаар KeySpace нэрийг string хэлбэрээр дамжуулж өгч болно.

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

Энд бид tp нэртэй KeySpace ашиглаж байна. Тиймээс доор үзүүлсэн шиг сесс объектыг үүсгэ.

Алхам 3: Query хайх Та CQL хайлтыг Session классын execute () аргыг ашиглан гүйцэтгэж болно. Хайлтын мөрийг форматаар эсвэл Тайлбар ангийн объектыг гүйцэтгэх () аргыг ашиглаж болно. Хэрвээ та энэ арганд энэ аргыг ашигласан бол cqlsh дээр ажиллуулна.

Дараах жишээнд бид баганыг хоосон хүснэгтэнд нэмнэ. Үүнийг хийхийн тулд та асуулгыг хувьсагчийн мөрөнд хадгалж доор үзүүлсэн шиг гүйцэтгэх () аргаар үүнийг дамжуулна.

//Query String query1 = "ALTER TABLE emp ADD emp_email text"; session.execute(query);

Доорхи хүснэгтэд баганыг нэмэх бүрэн програм юм.

import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session;

public class Add_column {

  public static void main(String args[]){
     //Query
     String query = "ALTER TABLE emp ADD emp_email text";
     //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("Column added");
  }

}

Дээрх програмыг клиентийн нэрээр хадгалаад дараа нь .java хадгалж байгаа байршлаасаа хайгаарай. Доор үзүүлсэн шиг програмыг эмхэтгэж, ажиллуулна.

$javac Add_Column.java $java Add_Column

Хэвийн нөхцөлд дараах үр дүн гарна: Column added

Багана устгах Доорхи хүснэгтэд байгаа баганыг устгах бүрэн програмыг хэлнэ.

import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session;

public class Delete_Column {

  public static void main(String args[]){
     //Query
     String query = "ALTER TABLE emp DROP emp_email;";
     //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("Column deleted");
  }
}

Дээрх програмыг клиентийн нэрээр хадгалаад дараа нь .java хадгалж байгаа байршлаасаа хайгаарай. Доор үзүүлсэн шиг програмыг эмхэтгэж, ажиллуулна.

$javac Delete_Column.java $java Delete_Column

Хэвийн нөхцөлд дараах үр дүн гарна:

Column deleted

                                                            Устгах хүснэгт

Cqlsh ашиглан хүснэгтийг буулгана Та дугаарын хүснэгтийг ашиглан хүснэгтийг унагаж болно. Түүний синтакс нь дараах байдалтай байна: Syntax DROP TABLE <tablename>

Жишээ нь Дараах код нь одоо байгаа хүснэгтийг KeySpace-с оруулдаг.

cqlsh:tutorialspoint> DROP TABLE emp;

Баталгаажуулалт Бичгийн командыг ашиглан хүснэгт устгагдсан эсэхийг шалгана уу. Эм хүснэгтийг устгасан тул багануудын гэр бүлийн жагсаалтад үүнийг олохгүй.

cqlsh:tutorialspoint> DESCRIBE COLUMNFAMILIES;

employee

Java API ашиглан Хүснэгтийг устгах нь Та хичээл ангийн execute () аргыг ашиглан хүснэгтийг устгаж болно. Java API ашиглан хүснэгтийг устгахын тулд доорх алхмуудыг дагана уу.

Алхам1: Бүлгийн бүлгийг үүсгэх Юуны өмнө com.datastax.driver.core багцын Cluster.builder class багцыг доор үзүүлэв: //Creating Cluster.Builder object Cluster.Builder builder1 = Cluster.builder();

Кластерын addContactPoint () аргыг ашиглан холбоо барих цэг (цэгийн IP хаяг) нэмнэ. Энэ арга нь Cluster.Builder-ийг буцаана.

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

Using the new builder object, create a cluster object. To do so, you have a method called build() in the Cluster.Builder class. The following code shows how to create a cluster object.

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

Кластерийн объектыг дор үзүүлсний дагуу нэг мөр кодыг ашиглан үүсгэж болно.

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

Алхам 2: Session Object үүсгэнэ үү Бүлгийн объектыг доор үзүүлсэн шиг кластерийн холболтын () аргыг ашиглан үүсгэнэ. Session session = cluster.connect( );

Энэ арга нь шинэ сесс үүсгэж түүнийг эхлүүлнэ. Хэрэв та аль хэдийн түлхүүр зайтай бол, үүнийг доорх байдлаар харуулсан форматаар KeySpace нэрийг string хэлбэрээр дамжуулж өгч болно.

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

Энд бид tp нэртэй түлхүүр зай ашигладаг. Тиймээс доор үзүүлсэн шиг сесс объектыг үүсгэ. Session session = cluster.connect(“tp”);

Алхам 3: Query хайх Та CQL асуулгуудыг execute () Session class аргыг ашиглан гүйцэтгэж болно. Хайлтын мөрийг форматаар эсвэл Тайлбар ангийн объектыг гүйцэтгэх () аргыг ашиглаж болно. Хэрвээ та энэ арганд энэ аргыг ашигласан бол cqlsh дээр ажиллуулна.

Дараах жишээнд бид нэртэй хүснэгтийг устгаж байна. Та хүсэлтийг string хувьсагчид хадгалж доор үзүүлсэн шиг гүйцэтгэх () аргаар үүнийг дамжуулна.

// Query

String query = "DROP TABLE emp1;”; session.execute(query);

Доорх нь Java API ашиглан Кассандра дахь хүснэгтийг унагаах бүрэн програм юм. import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session;

public class Drop_Table {

  public static void main(String args[]){
     //Query
     String query = "DROP TABLE emp1;";
     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 dropped");
  }

}

Дээрх програмыг клиентийн нэрээр хадгалаад дараа нь .java хадгалж байгаа байршлаасаа хайгаарай. Доор үзүүлсэн шиг програмыг эмхэтгэж, ажиллуулна.

$javac Drop_Table.java $java Drop_Table Хэвийн нөхцөлд дараахь үр дүн гарна: Table dropped