Cassandra - Verileri Güncelle

Tablodaki Verileri Güncelleme

UPDATEbir tablodaki verileri güncellemek için kullanılan komuttur. Bir tablodaki verileri güncellerken aşağıdaki anahtar kelimeler kullanılır -

  • Where - Bu madde, güncellenecek satırı seçmek için kullanılır.

  • Set - Bu anahtar kelimeyi kullanarak değeri ayarlayın.

  • Must - Birincil anahtarı oluşturan tüm sütunları içerir.

Satırları güncellerken, belirli bir satır kullanılamıyorsa, UPDATE yeni bir satır oluşturur. Aşağıda, UPDATE komutunun sözdizimi verilmiştir -

UPDATE <tablename>
SET <column name> = <new value>
<column name> = <value>....
WHERE <condition>

Misal

Adında bir tablo olduğunu varsayın emp. Bu tablo, belirli bir şirketin çalışanlarının ayrıntılarını depolar ve aşağıdaki ayrıntıları içerir -

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

Şimdi robin'in emp_city'sini Delhi'ye ve maaşını 50000'e güncelleyelim. Gerekli güncellemeleri yapmak için sorgu aşağıda verilmiştir.

cqlsh:tutorialspoint> UPDATE emp SET emp_city='Delhi',emp_sal=50000
   WHERE emp_id=2;

Doğrulama

Verilerin güncellenip güncellenmediğini doğrulamak için SELECT deyimini kullanın. Emp tabloyu SELECT deyimini 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 | 45000
      
(3 rows)

Burada tablo verilerinin güncellendiğini gözlemleyebilirsiniz.

Java API kullanarak Verileri Güncelleme

Session sınıfının execute () yöntemini kullanarak bir tablodaki verileri güncelleyebilirsiniz. Java API kullanarak bir tablodaki verileri güncellemek için aşağıdaki 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. Küme nesnesini 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 adlı 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 emp tablosunu güncelliyoruz. Sorguyu bir dize değişkeninde saklamanız ve aşağıda gösterildiği gibi execute () yöntemine iletmeniz gerekir:

String query = “ UPDATE emp SET emp_city='Delhi',emp_sal=50000
WHERE emp_id = 2;” ;

Aşağıda, Java API kullanarak bir tablodaki verileri güncellemek için eksiksiz bir program verilmiştir.

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

public class Update_Data {
  
   public static void main(String args[]){
      
      //query
      String query = " UPDATE emp SET emp_city='Delhi',emp_sal=50000"
          
      //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 updated");
   }
 }

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 Update_Data.java
$java Update_Data

Normal koşullar altında aşağıdaki çıktıyı üretmelidir -

Data updated