ในบทความนี้ คุณจะได้เรียนรู้วิธีใช้คำสั่ง Apache Cassandra TRUNCATE คำสั่งนี้อนุญาตให้คุณลบข้อมูลทั้งหมดออกจากตารางโดยไม่ต้องลบตารางหรือสคีมาของตาราง
พูดง่ายๆ ก็คือ คำสั่ง TRUNCATE ช่วยให้คุณสามารถรีเซ็ตข้อมูลที่จัดเก็บไว้ในตารางเพื่อให้คุณสามารถกู้คืนหรือแทรกข้อมูลใหม่ได้
Cassandra Truncate Command Syntax
ไวยากรณ์คำสั่ง TRUNCATE ดังที่แสดง:
ตัดทอน [TABLE] [keyspace.table_name]
คุณสามารถละเว้นคีย์เวิร์ด TABLE ในไวยากรณ์ด้านบนได้ คำสั่งจะดำเนินการในลักษณะเดียวกัน
โปรดทราบว่าคำสั่ง TRUNCATE ส่งคำสั่ง JMX ไปยังโหนดทั้งหมดในคลัสเตอร์ที่มีข้อมูลของเป้าหมาย ซึ่งช่วยให้โหนดสามารถซิงโครไนซ์และติดตามการเปลี่ยนแปลงข้อมูลล่าสุด หากโหนดใดโหนดหนึ่งในคลัสเตอร์ไม่ทำงาน คำสั่งจะล้มเหลวและส่งคืนข้อผิดพลาด
การสร้างตารางตัวอย่างและข้อมูล
เราจะสร้างตัวอย่างคีย์สเปซและตารางเพื่อจุดประสงค์ในการอธิบาย คำสั่งต่างๆ ดังแสดงในตัวอย่างด้านล่าง:
cqlsh> สร้างคีย์สเปซ height_info... พร้อมการจำลอง = {
... 'คลาส': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> ใช้ height_info;
cqlsh:height_info> สร้างผู้รับตาราง (
... มือของคุณ,
... ข้อความชื่อผู้ใช้
... ความสูง int,
... คีย์หลัก(id, ความสูง));
จากนั้นเราสามารถแทรกข้อมูลตัวอย่างตามที่แสดงในคำสั่งด้านล่าง:
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (0, 'user1', 210);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (1, 'user2', 115);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (2, 'user3', 202);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (3, 'user4', 212);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (4, 'user5', 216);
ตัวอย่างการดำเนินการตัดทอน
ข้อมูลที่จัดเก็บไว้ในตารางก่อนการตัดทอนจะแสดงดังนี้:
เลือก * จากผู้รับ;
เราสามารถตัดตารางตามที่แสดง:
cqlsh:height_info> ตัดทอนตาราง height_info.recipients;สุดท้าย เราสามารถยืนยันได้ว่าข้อมูลถูกลบออกจากตารางดังนี้:
cqlsh:height_info> SELECT * จากผู้รับ;
คุณจะสังเกตเห็นว่าตารางยังคงมีอยู่รวมถึงคำจำกัดความของสคีมาทั้งหมด อย่างไรก็ตาม ข้อมูลในตารางถูกลบออกจากตารางที่ว่างเปล่า
โปรดทราบว่าการดำเนินการ TRUNCATE จะไม่สามารถย้อนกลับได้ ระมัดระวังในการใช้งานและการสูญเสียข้อมูลที่อาจเกิดขึ้น
บทสรุป
ในโพสต์นี้ คุณได้เรียนรู้วิธีลบข้อมูลทั้งหมดออกจากตารางในขณะที่คงไว้ซึ่งสคีมาของตารางโดยใช้คำสั่ง CQL TRUNCATE