Cassandra - ตารางตัดทอน
การตัดตาราง
คุณสามารถตัดตารางโดยใช้คำสั่ง TRUNCATE เมื่อคุณตัดทอนตารางแถวทั้งหมดของตารางจะถูกลบอย่างถาวร ด้านล่างเป็นไวยากรณ์ของคำสั่งนี้
ไวยากรณ์
TRUNCATE <tablename>
ตัวอย่าง
ให้เราถือว่ามีตารางที่เรียกว่า student ด้วยข้อมูลต่อไปนี้
s_id | s_name | s_branch | s_aggregate |
---|---|---|---|
1 | แกะ | มัน | 70 |
2 | ราห์มาน | EEE | 75 |
3 | robbin | Mech | 72 |
เมื่อคุณดำเนินการคำสั่งเลือกเพื่อรับตาราง student, มันจะให้ผลลัพธ์ดังต่อไปนี้
cqlsh:tp> select * from student;
s_id | s_aggregate | s_branch | s_name
------+-------------+----------+--------
1 | 70 | IT | ram
2 | 75 | EEE | rahman
3 | 72 | MECH | robbin
(3 rows)
ตอนนี้ตัดตารางโดยใช้คำสั่ง TRUNCATE
cqlsh:tp> TRUNCATE student;
การยืนยัน
ตรวจสอบว่าตารางถูกตัดทอนหรือไม่โดยการเรียกใช้ selectคำให้การ. ด้านล่างนี้คือผลลัพธ์ของคำสั่ง select บนโต๊ะนักเรียนหลังจากการตัดทอน
cqlsh:tp> select * from student;
s_id | s_aggregate | s_branch | s_name
------+-------------+----------+--------
(0 rows)
การตัดตารางโดยใช้ Java API
คุณสามารถตัดตารางโดยใช้เมธอด execute () ของคลาส Session ทำตามขั้นตอนด้านล่างเพื่อตัดทอนตาราง
ขั้นตอนที่ 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 ” );
Session session = cluster.connect(“ tp” );
ที่นี่เราใช้คีย์สเปซชื่อ tp ดังนั้นให้สร้างวัตถุเซสชันดังที่แสดงด้านล่าง
ขั้นตอนที่ 3: ดำเนินการสืบค้น
คุณสามารถดำเนินการสืบค้น CQL โดยใช้เมธอด execute () ของคลาส Session ส่งแบบสอบถามในรูปแบบสตริงหรือเป็นวัตถุคลาส Statement ไปยังเมธอด execute () สิ่งที่คุณส่งไปยังเมธอดนี้ในรูปแบบสตริงจะถูกดำเนินการบนไฟล์cqlsh.
ในตัวอย่างต่อไปนี้เรากำลังตัดทอนตารางที่ชื่อ emp. คุณต้องจัดเก็บแบบสอบถามในตัวแปรสตริงและส่งต่อไปยังไฟล์execute() วิธีการดังแสดงด้านล่าง
//Query
String query = "TRUNCATE emp;;”;
session.execute(query);
ด้านล่างนี้เป็นโปรแกรมที่สมบูรณ์ในการตัดทอนตารางใน Cassandra โดยใช้ Java API
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
public class Truncate_Table {
public static void main(String args[]){
//Query
String query = "Truncate student;";
//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 truncated");
}
}
บันทึกโปรแกรมข้างต้นด้วยชื่อคลาสตามด้วย. java เรียกดูตำแหน่งที่บันทึกไว้ คอมไพล์และรันโปรแกรมดังที่แสดงด้านล่าง
$javac Truncate_Table.java
$java Truncate_Table
ภายใต้สภาวะปกติควรให้ผลลัพธ์ดังต่อไปนี้ -
Table truncated