Dalam artikel ini, anda akan belajar-
- Masukkan Data
- Data Naik
- Kemas kini Data
- Padamkan Data
- Cassandra Di mana Fasal
Masukkan Data
Perintah 'Masukkan ke' menulis data dalam lajur Cassandra dalam bentuk baris. Ia hanya akan menyimpan lajur yang diberikan oleh pengguna. Anda mesti menentukan hanya ruang utama utama.
Ia tidak akan mengambil ruang untuk nilai yang tidak diberikan. Tidak ada hasil yang dikembalikan selepas penyisipan.
Sintaks
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Contohnya
Berikut adalah snapshot arahan yang dilaksanakan 'Masukkan ke dalam' yang akan memasukkan satu rekod dalam jadual Cassandra 'Pelajar'.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Setelah berjaya melaksanakan perintah 'Insert Into', satu baris akan disisipkan di Cassandra table Student dengan RollNo 2, Name Michael, dept CS dan Semester 2.
Inilah gambaran keadaan pangkalan data semasa.
Data Naik
Cassandra menaik. Upsert bermaksud bahawa Cassandra akan memasukkan baris jika kunci utama belum ada sebaliknya jika kunci utama sudah ada, ia akan mengemas kini baris itu.
Kemas kini Data
Perintah 'Update' digunakan untuk mengemas kini data dalam jadual Cassandra. Sekiranya tidak ada hasil yang dikembalikan setelah mengemas kini data, ini bermaksud data berjaya dikemas kini jika tidak, kesalahan akan dikembalikan. Nilai lajur diubah dalam klausa 'Set' sementara data disaring dengan klausa 'Di mana'.
Sintaks
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Contohnya
Berikut adalah tangkapan skrin yang menunjukkan keadaan pangkalan data sebelum mengemas kini data.
Berikut adalah snapshot arahan 'Update' yang dilaksanakan yang mengemas kini rekod dalam jadual Pelajar.
Update University.StudentSet name='Hayden'Where rollno=1;
Setelah berjaya melaksanakan arahan 'Update Student', nama pelajar akan diubah dari 'Clark' menjadi 'Hayden' yang mempunyai rollno 1.
Berikut adalah tangkapan skrin yang menunjukkan keadaan pangkalan data setelah mengemas kini data.
Cassandra Padam Data
Perintah 'Delete' membuang keseluruhan baris atau beberapa lajur dari meja Pelajar. Apabila data dihapus, data tersebut tidak akan dihapus dari jadual dengan segera. Sebaliknya data yang dihapus ditandakan dengan batu nisan dan dikeluarkan setelah pemadatan.
Sintaks
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaks di atas akan menghapus satu atau lebih baris bergantung pada penapisan data di mana klausa.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaks di atas akan menghapus beberapa lajur dari jadual.
Contohnya
Berikut adalah snapshot yang menunjukkan keadaan pangkalan data semasa sebelum menghapus data.
Berikut adalah petikan arahan yang akan mengeluarkan satu baris dari pelajar Jadual
Delete from University.Student where rollno=1;
Setelah berjaya melaksanakan perintah 'Delete', satu baris akan dihapus dari jadual Pelajar di mana nilai rollno adalah 1.
Berikut adalah snapshot yang menunjukkan keadaan pangkalan data setelah menghapus data.
Apa yang tidak disokong oleh Cassandra
Terdapat batasan berikut dalam bahasa pertanyaan Cassandra (CQL).
- CQL tidak menyokong pertanyaan agregasi seperti maksimum, min, purata
- CQL tidak menyokong kumpulan dengan, mempunyai pertanyaan.
- CQL tidak menyokong penyertaan.
- CQL tidak menyokong pertanyaan ATAU.
- CQL tidak menyokong pertanyaan wildcard.
- CQL tidak menyokong pertanyaan Union, Intersection.
- Lajur jadual tidak dapat disaring tanpa membuat indeks.
- Permintaan lebih besar daripada (>) dan kurang daripada (<) hanya disokong pada kolum pengelompokan.
Bahasa pertanyaan Cassandra tidak sesuai untuk tujuan analisis kerana mempunyai banyak batasan.
Cassandra Di mana Fasal
Di Cassandra, pengambilan data adalah isu sensitif. Lajur disaring di Cassandra dengan membuat indeks pada lajur kunci bukan primer.
Sintaks
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Contohnya
- Berikut adalah gambar yang menunjukkan pengambilan data dari jadual Pelajar tanpa penyaringan data.
select * from University.Student;
Dua rekod diambil dari jadual Pelajar.
- Berikut adalah gambar yang menunjukkan pengambilan data dari Pelajar dengan penyaringan data. Satu rekod diambil.
Data ditapis mengikut lajur nama. Semua rekod diambil yang mempunyai nama sama dengan Guru99.
select * from University.Student where name='Guru99';