Cassandra - Verileri Sil
Bir Tablodan Verileri Silme
Komutu kullanarak bir tablodaki verileri silebilirsiniz. DELETE. Sözdizimi aşağıdaki gibidir -
DELETE FROM <identifier> WHERE <condition>;
Misal
Cassandra'da adlı bir tablo olduğunu varsayalım. emp aşağıdaki verilere sahip olmak -
emp_id | emp_name | emp_city | emp_phone | emp_sal |
---|---|---|---|---|
1 | Veri deposu | Haydarabad | 9848022338 | 50000 |
2 | Robin | Haydarabad | 9848022339 | 40000 |
3 | rahman | Chennai | 9848022330 | 45.000 |
Aşağıdaki ifade, son satırın emp_sal sütununu siler -
cqlsh:tutorialspoint> DELETE emp_sal FROM emp WHERE emp_id=3;
Doğrulama
Verilerin silinip silinmediğini doğrulamak için SELECT deyimini kullanın. Emp tabloyu SELECT kullanarak doğrularsanız, aşağıdaki çıktıyı üretir -
cqlsh:tutorialspoint> select * from emp;
emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+-----------+----------+------------+---------
1 | Hyderabad | ram | 9848022338 | 50000
2 | Delhi | robin | 9848022339 | 50000
3 | Chennai | rahman | 9848022330 | null
(3 rows)
Rahman'ın maaşını sildiğimiz için maaş yerine boş bir değer göreceksiniz.
Tüm Satırı Silme
Aşağıdaki komut, bir tablodan tüm satırı siler.
cqlsh:tutorialspoint> DELETE FROM emp WHERE emp_id=3;
Doğrulama
Verilerin silinip silinmediğini doğrulamak için SELECT deyimini kullanın. Emp tabloyu SELECT kullanarak doğrularsanız, aşağıdaki çıktıyı üretir -
cqlsh:tutorialspoint> select * from emp;
emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+-----------+----------+------------+---------
1 | Hyderabad | ram | 9848022338 | 50000
2 | Delhi | robin | 9848022339 | 50000
(2 rows)
Son satırı sildiğimiz için tabloda sadece iki satır kaldı.
Java API kullanarak Verileri Silme
Session sınıfının execute () yöntemini kullanarak bir tablodaki verileri silebilirsiniz. Java API kullanarak bir tablodan veri silmek için aşağıda verilen adımları izleyin.
Adım 1: Küme Nesnesi Oluşturun
Bir örnek oluşturun Cluster.builder sınıfı com.datastax.driver.core aşağıda gösterildiği gibi paketleyin.
//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();
Kullanarak bir iletişim noktası (düğümün IP adresi) ekleyin. addContactPoint() yöntemi Cluster.Buildernesne. Bu yöntem döndürürCluster.Builder.
//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint( "127.0.0.1" );
Yeni oluşturucu nesnesini kullanarak bir küme nesnesi oluşturun. Bunu yapmak için adında bir yönteminiz varbuild() içinde Cluster.Buildersınıf. Bir küme nesnesi oluşturmak için aşağıdaki kodu kullanın.
//Building a cluster
Cluster cluster = builder.build();
Aşağıda gösterildiği gibi tek bir kod satırı kullanarak küme nesnesini oluşturabilirsiniz.
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Adım 2: Bir Oturum Nesnesi Oluşturun
Aşağıda gösterildiği gibi Cluster sınıfının connect () yöntemini kullanarak bir Session nesnesi örneği oluşturun.
Session session = cluster.connect();
Bu yöntem yeni bir oturum oluşturur ve onu başlatır. Zaten bir anahtar alanınız varsa, aşağıda gösterildiği gibi bu yönteme dize biçiminde KeySpace adını ileterek var olanı ayarlayabilirsiniz.
Session session = cluster.connect(“ Your keyspace name ”);
Burada adı verilen KeySpace'i kullanıyoruz tp. Bu nedenle, oturum nesnesini aşağıda gösterildiği gibi oluşturun.
Session session = cluster.connect(“tp”);
3. Adım: Sorguyu Çalıştırın
Session sınıfının execute () yöntemini kullanarak CQL sorgularını yürütebilirsiniz. Sorguyu dize biçiminde veya bir Statement sınıfı nesnesi olarak execute () yöntemine iletin. Bu yönteme dize biçiminde ilettiğiniz her şey,cqlsh.
Aşağıdaki örnekte, adlı bir tablodan verileri siliyoruz. emp. Sorguyu bir dize değişkeninde saklamanız ve bunu execute() yöntemi aşağıda gösterildiği gibi.
String query1 = ”DELETE FROM emp WHERE emp_id=3; ”;
session.execute(query);
Aşağıda, Java API kullanarak Cassandra'daki bir tablodan verileri silmek için eksiksiz bir program verilmiştir.
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
public class Delete_Data {
public static void main(String args[]){
//query
String query = "DELETE FROM emp WHERE emp_id=3;";
//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("Data deleted");
}
}
Yukarıdaki programı sınıf adı ve ardından .java ile kaydedin, kaydedildiği konuma göz atın. Programı aşağıda gösterildiği gibi derleyin ve çalıştırın.
$javac Delete_Data.java
$java Delete_Data
Normal koşullar altında aşağıdaki çıktıyı üretmelidir -
Data deleted