Cassandra päringukeel (CQL): sisestamine, värskendamine, kustutamine (näide)

Lang L: none (table-of-contents):

Anonim

Selles artiklis saate teada

  • Sisesta andmed
  • Andmete üleslaadimine
  • Andmete värskendamine
  • Kustuta andmed
  • Cassandra kus klausel

Sisesta andmed

Käsk 'Insert to' kirjutab andmed Cassandra veergudesse rea kujul. See salvestab ainult need veerud, mille kasutaja on andnud. Peate tingimata määrama ainult esmase võtme veeru.

See ei võta ruumi etteantud väärtuste jaoks. Pärast sisestamist tulemusi ei tagastata.

Süntaks

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

Näide

Siin on täidetud käsu "Insert to" hetktõmmis, mis lisab ühe kirje Cassandra tabelisse "Student".

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

Pärast käsu 'Insert Into' edukat täitmist lisatakse Cassandra tabelisse Student rida RollNo 2, Name Michael, dept CS ja Semester 2 üks rida.

Siin on hetkepilt praegusest andmebaasi olekust.

Andmete üleslaadimine

Cassandra tõuseb üles. Upsert tähendab, et Cassandra lisab rea, kui primaarvõtit pole veel olemas, vastasel juhul, kui primaarvõti on juba olemas, värskendab ta seda rida.

Andmete värskendamine

Cassandra tabeli andmete värskendamiseks kasutatakse käsku „Värskenda”. Kui pärast andmete värskendamist tulemusi ei tagastata, tähendab see, et andmeid värskendatakse edukalt, vastasel juhul tagastatakse tõrge. Veeru väärtusi muudetakse klauslis „Set”, samal ajal kui andmed on filtreeritud klausliga „Where”.

Süntaks

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

Näide

Siin on ekraanipilt, mis näitab andmebaasi olekut enne andmete värskendamist.

Siin on täidetud käsu "Update" hetktõmmis, mis värskendab tabelit Student.

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

Pärast käsu „Värskenda õpilast” edukalt täitmist muudetakse õpilase nimi „Clark” nimeks „Hayden”, millel on 1. nimetus.

Siin on ekraanipilt, mis näitab andmebaasi olekut pärast andmete värskendamist.

Cassandra Kustuta andmed

Käsk „Kustuta“ eemaldab tabelist Õpilane terve rea või mõne veeru. Andmete kustutamisel ei kustutata neid kohe tabelist. Selle asemel märgitakse kustutatud andmed hauakiviga ja eemaldatakse pärast tihendamist.

Süntaks

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Ülaltoodud süntaks kustutab ühe või mitu rida sõltuvalt andmete filtreerimisest kus klausel.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Ülaltoodud süntaks kustutab tabelist mõned veerud.

Näide

Siin on hetktõmmis, mis näitab andmebaasi praegust olekut enne andmete kustutamist.

Siin on käsu hetktõmmis, mis eemaldab ühe rea tabelist Student.

Delete from University.Student where rollno=1;

Pärast käsu 'Kustuta' edukat täitmist kustutatakse tabelist Student üks rida, kus rollno väärtus on 1.

Siin on hetktõmmis, mis näitab andmebaasi olekut pärast andmete kustutamist.

Mida Cassandra ei toeta

Cassandra päringukeeles (CQL) on järgmised piirangud.

  1. CQL ei toeta selliseid liitmispäringuid nagu max, min, keskm
  2. CQL ei toeta grupi järgi päringuid.
  3. CQL ei toeta liitumisi.
  4. CQL ei toeta OR-päringuid.
  5. CQL ei toeta metamärke.
  6. CQL ei toeta liidu, ristmiku päringuid.
  7. Tabeli veerge ei saa ilma indeksi loomiseta filtreerida.
  8. Suuremat kui (>) ja vähem kui (<) päringut toetatakse ainult klastrite veerus.

    Cassandra päringukeel ei sobi analüüsi eesmärgil, kuna sellel on nii palju piiranguid.

Cassandra kus klausel

Cassandras on andmete hankimine tundlik teema. Veerg filtreeritakse Cassandras, luues indeksi mitte-põhivõtme veergudele.

Süntaks

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

Näide

  • Siin on hetktõmmis, mis näitab andmete otsimist õpilaste tabelist ilma andmete filtreerimiseta.
select * from University.Student;

Kaks kirjet leitakse üliõpilaste tabelist.

  • Siin on hetktõmmis, mis näitab andmete otsimist üliõpilasest koos andmete filtreerimisega. Leidub üks kirje.

Andmed filtreeritakse veeru nime järgi. Laaditakse kõik kirjed, mille nimi on võrdne Guru99-ga.

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