Cassandra Sorgu Dili (CQL): İçine Ekle, Güncelle, Sil (Örnek)

İçindekiler:

Anonim

Bu yazıda öğreneceksiniz-

  • Veri Girin
  • Verileri Yükselt
  • Veriyi güncelle
  • Verileri Sil
  • Cassandra Nerede Fıkra

Veri Girin

'Ekle' komutu, verileri Cassandra sütunlarına satır biçiminde yazar. Yalnızca kullanıcı tarafından verilen sütunları saklayacaktır. Mutlaka yalnızca birincil anahtar sütununu belirtmeniz gerekir.

Verilmeyen değerler için yer almayacaktır. Eklendikten sonra hiçbir sonuç döndürülmez.

Sözdizimi

Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )

Misal

Burada, Cassandra tablosuna 'Öğrenci' bir kayıt ekleyecek olan çalıştırılan 'Ekle' komutunun anlık görüntüsü bulunmaktadır.

Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);

'İçeri Ekle' komutunun başarılı bir şekilde yürütülmesinden sonra, Cassandra tablosuna Öğrenci, RollNo 2, Name Michael, dept CS ve Semester 2 ile bir satır eklenir.

İşte mevcut veritabanı durumunun anlık görüntüsü.

Verileri Yükselt

Cassandra yükseltiyor. Upsert, birincil anahtar zaten mevcut değilse Cassandra'nın bir satır ekleyeceği, aksi takdirde birincil anahtar zaten varsa, bu satırı güncelleyeceği anlamına gelir.

Veriyi güncelle

Cassandra tablosundaki verileri güncellemek için 'Güncelle' komutu kullanılır. Verileri güncelledikten sonra hiçbir sonuç döndürülmezse, bu, verilerin başarıyla güncellendiği anlamına gelir, aksi takdirde bir hata döndürülür. Sütun değerleri 'Set' yan tümcesinde değiştirilirken, veriler 'Where' yan tümcesi ile filtrelenir.

Sözdizimi

Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue

Misal

Verileri güncellemeden önce veritabanı durumunu gösteren ekran görüntüsü.

Öğrenci tablosundaki kaydı güncelleyen çalıştırılan 'Güncelle' komutunun anlık görüntüsü.

Update University.StudentSet name='Hayden'Where rollno=1;

'Update Student' komutunun başarılı bir şekilde yürütülmesinden sonra, öğrenci adı 'Clark' iken rollno 1 olan 'Hayden' olarak değiştirilecektir.

Verileri güncelledikten sonra veritabanı durumunu gösteren ekran görüntüsü.

Cassandra Verileri Sil

'Sil' komutu, Öğrenci tablosundan tüm bir satırı veya bazı sütunları kaldırır. Veriler silindiğinde tablodan hemen silinmez. Bunun yerine, silinen veriler bir kaldırıldı işareti ile işaretlenir ve sıkıştırıldıktan sonra kaldırılır.

Sözdizimi

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Yukarıdaki sözdizimi, where maddesinde veri filtrelemesine bağlı olarak bir veya daha fazla satırı silecektir.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Yukarıdaki sözdizimi, tablodan bazı sütunları silecektir.

Misal

Verileri silmeden önce mevcut veritabanı durumunu gösteren anlık görüntü burada.

İşte Student tablosundan bir satırı kaldıracak olan komutun anlık görüntüsü.

Delete from University.Student where rollno=1;

'Sil' komutunun başarılı bir şekilde yürütülmesinden sonra, rollno değerinin 1 olduğu Öğrenci tablosundan bir satır silinecektir.

Verileri sildikten sonra veritabanı durumunu gösteren anlık görüntü burada.

Cassandra neyi desteklemiyor

Cassandra sorgu dilinde (CQL) aşağıdaki sınırlamalar vardır.

  1. CQL max, min, avg gibi toplama sorgularını desteklemez
  2. CQL, sorgulara sahip olan gruplamayı desteklemez.
  3. CQL, birleştirmeleri desteklemez.
  4. CQL, OR sorgularını desteklemez.
  5. CQL, joker karakter sorgularını desteklemez.
  6. CQL, Union, Intersection sorgularını desteklemez.
  7. Dizin oluşturulmadan tablo sütunları filtrelenemez.
  8. Büyük (>) ve (<) sorgu yalnızca kümeleme sütununda desteklenir.

    Cassandra sorgu dili, çok fazla sınırlaması olduğu için analiz amaçları için uygun değildir.

Cassandra Nerede Fıkra

Cassandra'da veri alımı hassas bir konudur. Sütun, Cassandra'da birincil olmayan anahtar sütunlarında bir dizin oluşturularak filtrelenir.

Sözdizimi

Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND… 

Misal

  • Veri filtreleme olmadan Öğrenci tablosundan veri almayı gösteren anlık görüntü burada.
select * from University.Student;

Öğrenci tablosundan iki kayıt alınır.

  • Veri filtreleme ile Öğrenci'den veri almayı gösteren anlık görüntü burada. Bir kayıt alınır.

Veriler, ad sütununa göre filtrelenir. Guru99'a eşit ada sahip tüm kayıtlar alınır.

select * from University.Student where name='Guru99';