Dalam artikel ini, Anda akan belajar-
- Sisipkan Data
- Upsert Data
- Perbaharui data
- Hapus Data
- Cassandra Dimana Klausul
Sisipkan Data
Perintah 'Sisipkan ke' menulis data di kolom Cassandra dalam bentuk baris. Ini hanya akan menyimpan kolom yang diberikan oleh pengguna. Anda harus menentukan kolom kunci utama saja.
Ini tidak akan mengambil ruang untuk nilai yang tidak diberikan. Tidak ada hasil yang dikembalikan setelah penyisipan.
Sintaksis
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Contoh
Berikut adalah snapshot dari perintah yang dieksekusi 'Sisipkan ke' yang akan memasukkan satu record ke tabel Cassandra 'Student'.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Setelah berhasil mengeksekusi perintah 'Sisipkan Ke', satu baris akan disisipkan di tabel Cassandra Mahasiswa dengan RollNo 2, Nama Michael, dept CS dan Semester 2.
Berikut adalah snapshot dari status database saat ini.
Upsert Data
Cassandra melakukan upsert. Upsert berarti Cassandra akan memasukkan baris jika kunci utama belum ada, sebaliknya jika kunci primer sudah ada, itu akan memperbarui baris itu.
Perbaharui data
Perintah 'Update' digunakan untuk memperbarui data di tabel Cassandra. Jika tidak ada hasil yang dikembalikan setelah memperbarui data, itu berarti data berhasil diperbarui jika tidak kesalahan akan dikembalikan. Nilai kolom diubah dalam klausa 'Set' sementara data difilter dengan klausa 'Di mana'.
Sintaksis
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Contoh
Berikut adalah tangkapan layar yang menunjukkan status database sebelum memperbarui data.
Berikut adalah snapshot dari perintah 'Update' yang dijalankan yang memperbarui record di tabel Student.
Update University.StudentSet name='Hayden'Where rollno=1;
Setelah berhasil mengeksekusi perintah 'Perbarui Siswa', nama siswa akan diubah dari 'Clark' menjadi 'Hayden' yang memiliki rollno 1.
Berikut tangkapan layar yang menunjukkan status database setelah memperbarui data.
Cassandra Hapus Data
Perintah 'Hapus' menghapus seluruh baris atau beberapa kolom dari tabel Siswa. Saat data dihapus, data tidak segera dihapus dari tabel. Sebagai gantinya, data yang dihapus ditandai dengan batu nisan dan dihapus setelah pemadatan.
Sintaksis
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaks di atas akan menghapus satu atau lebih baris tergantung pada filtrasi data di klausa where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaks di atas akan menghapus beberapa kolom dari tabel.
Contoh
Berikut adalah snapshot yang menunjukkan status database saat ini sebelum menghapus data.
Berikut adalah snapshot dari perintah yang akan menghapus satu baris dari tabel Student.
Delete from University.Student where rollno=1;
Setelah berhasil mengeksekusi perintah 'Delete', satu baris akan dihapus dari tabel Student dimana nilai rollno adalah 1.
Berikut adalah snapshot yang menunjukkan status database setelah menghapus data.
Apa yang tidak didukung Cassandra
Ada batasan berikut dalam bahasa kueri Cassandra (CQL).
- CQL tidak mendukung kueri agregasi seperti maks, min, avg
- CQL tidak mendukung grup dengan, memiliki kueri.
- CQL tidak mendukung gabungan.
- CQL tidak mendukung kueri OR.
- CQL tidak mendukung kueri karakter pengganti.
- CQL tidak mendukung kueri Union, Intersection.
- Kolom tabel tidak dapat difilter tanpa membuat indeks.
- Kueri lebih besar dari (>) dan kurang dari (<) hanya didukung pada kolom pengelompokan.
Bahasa kueri Cassandra tidak cocok untuk tujuan analitik karena memiliki banyak keterbatasan.
Cassandra Dimana Klausul
Di Cassandra, pengambilan data adalah masalah sensitif. Kolom disaring di Cassandra dengan membuat indeks pada kolom non-kunci utama.
Sintaksis
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Contoh
- Berikut adalah snapshot yang menunjukkan pengambilan data dari tabel Student tanpa filtrasi data.
select * from University.Student;
Dua catatan diambil dari tabel Siswa.
- Berikut adalah snapshot yang menunjukkan pengambilan data dari Student dengan filtrasi data. Satu catatan diambil.
Data difilter berdasarkan kolom nama. Semua catatan yang diambil memiliki nama yang sama dengan Guru99.
select * from University.Student where name='Guru99';