Cassandra - วางคีย์สเปซ

การทิ้ง Keyspace

คุณสามารถวาง KeySpace โดยใช้คำสั่ง DROP KEYSPACE. ด้านล่างเป็นไวยากรณ์สำหรับการวาง KeySpace

ไวยากรณ์

DROP KEYSPACE <identifier>

กล่าวคือ

DROP KEYSPACE “KeySpace name”

ตัวอย่าง

รหัสต่อไปนี้จะลบคีย์สเปซ tutorialspoint.

cqlsh> DROP KEYSPACE tutorialspoint;

การยืนยัน

ตรวจสอบคีย์สเปซโดยใช้คำสั่ง Describe และตรวจสอบว่าตารางหลุดตามที่แสดงด้านล่างหรือไม่

cqlsh> DESCRIBE keyspaces;

system system_traces

เนื่องจากเราได้ลบจุดสอนคีย์สเปซแล้วคุณจะไม่พบมันในรายการคีย์สเปซ

การทิ้ง Keyspace โดยใช้ Java API

คุณสามารถสร้าง Keyspace โดยใช้เมธอด 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: สร้างวัตถุเซสชัน

สร้างอินสแตนซ์ของวัตถุเซสชันโดยใช้เมธอด connect () ของคลาสคลัสเตอร์ดังที่แสดงด้านล่าง

Session session = cluster.connect( );

วิธีนี้จะสร้างเซสชันใหม่และเริ่มต้น หากคุณมีคีย์สเปซอยู่แล้วคุณสามารถตั้งค่าเป็นคีย์สเปซที่มีอยู่ได้โดยส่งชื่อคีย์สเปซในรูปแบบสตริงไปยังวิธีนี้ดังที่แสดงด้านล่าง

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

ขั้นตอนที่ 3: ดำเนินการสืบค้น

คุณสามารถดำเนินการสืบค้น CQL โดยใช้เมธอด execute () ของคลาส Session ส่งแบบสอบถามในรูปแบบสตริงหรือเป็นวัตถุคลาส Statement ไปยังเมธอด execute () สิ่งที่คุณส่งผ่านไปยังวิธีนี้ในรูปแบบสตริงจะถูกดำเนินการบน cqlsh

ในตัวอย่างต่อไปนี้เรากำลังลบคีย์สเปซที่ชื่อ tp. คุณต้องเก็บแบบสอบถามไว้ในตัวแปรสตริงและส่งต่อไปยังเมธอด execute () ดังที่แสดงด้านล่าง

String query = "DROP KEYSPACE tp; ";

session.execute(query);

ด้านล่างนี้เป็นโปรแกรมที่สมบูรณ์ในการสร้างและใช้คีย์สเปซในคาสซานดราโดยใช้ Java API

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

public class Drop_KeySpace {

   public static void main(String args[]){

      //Query
      String query = "Drop KEYSPACE tp";

      //creating Cluster object
      Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
    
      //Creating Session object
      Session session = cluster.connect();
    
      //Executing the query
      session.execute(query);
      System.out.println("Keyspace deleted");
   }
}

บันทึกโปรแกรมด้านบนด้วยชื่อคลาสตามด้วย. java เรียกดูตำแหน่งที่บันทึกไว้ คอมไพล์และรันโปรแกรมดังที่แสดงด้านล่าง

$javac Delete_KeySpace.java
$java Delete_KeySpace

ภายใต้สภาวะปกติควรให้ผลลัพธ์ดังต่อไปนี้ -

Keyspace deleted