„Cassandra“ užklausos kalba (CQL): įterpti į, atnaujinti, ištrinti (pavyzdys)

Šiame straipsnyje sužinosite

  • Įterpti duomenis
  • Patvirtinti duomenis
  • Atnaujinti duomenis
  • Ištrinti duomenis
  • Kasandra, kur sąlyga

Įterpti duomenis

Komanda „Įterpti“ rašo duomenis „Cassandra“ stulpeliuose eilutės forma. Čia bus saugomi tik tie stulpeliai, kuriuos pateikia vartotojas. Jūs būtinai turite nurodyti tik pirminio rakto stulpelį.

Nepateiks vietos neduotoms vertybėms. Po įterpimo rezultatai negrąžinami.

Sintaksė

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

Pavyzdys

Čia yra įvykdytos komandos „Įterpti“ momentinė nuotrauka, kuri įterps vieną įrašą į „Cassandra“ lentelę „Studentas“.

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

Sėkmingai įvykdžius komandą „Įterpti į“, viena eilutė bus įtraukta į „Cassandra“ lentelę „Student with RollNo 2“, „Name Michael“, dept CS ir 2 semestras.

Čia yra dabartinės duomenų bazės būsenos momentinė nuotrauka.

Patvirtinti duomenis

Kasandra pakyla. „Upsert“ reiškia, kad „Cassandra“ įterps eilutę, jei pirminio rakto dar nėra, kitaip, jei pagrindinis raktas jau yra, jis tą eilutę atnaujins.

Atnaujinti duomenis

Komanda „Atnaujinti“ naudojama atnaujinti „Cassandra“ lentelės duomenis. Jei atnaujinus duomenis rezultatų nėra, tai reiškia, kad duomenys sėkmingai atnaujinami, nes kitaip bus grąžinta klaida. Stulpelio vertės keičiamos sąlygoje „Nustatyti“, o duomenys filtruojami su sakiniu „Kur“.

Sintaksė

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

Pavyzdys

Čia yra ekrano kopija, rodanti duomenų bazės būseną prieš atnaujinant duomenis.

Čia pateikiama vykdomosios komandos „Update“, atnaujinančios įrašą lentelėje Studentas, momentinė nuotrauka.

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

Sėkmingai įvykdžius komandą „Atnaujinti studentą“, studento vardas bus pakeistas iš „Clark“ į „Hayden“, kuriame yra 1 sąrašas.

Čia yra ekrano kopija, rodanti duomenų bazės būseną atnaujinus duomenis.

Kasandra Ištrinti duomenis

Komanda „Ištrinti“ pašalina visą eilutę arba keletą stulpelių iš lentelės Studentas. Kai duomenys ištrinami, jie iš karto neištrinami iš lentelės. Vietoj to ištrinti duomenys pažymimi antkapiu ir pašalinami sutankinus.

Sintaksė

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Pirmiau nurodyta sintaksė ištrins vieną ar daugiau eilučių, priklausomai nuo duomenų filtravimo, kur sakinys.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Pirmiau nurodyta sintaksė iš lentelės ištrins kai kuriuos stulpelius.

Pavyzdys

Čia yra momentinė nuotrauka, rodanti dabartinę duomenų bazės būseną prieš ištrinant duomenis.

Čia pateikiama komandos, kuri pašalins vieną eilutę iš lentelės Studentas, momentinė nuotrauka.

Delete from University.Student where rollno=1;

Sėkmingai įvykdžius komandą „Ištrinti“, viena eilutė bus ištrinta iš „Student“ lentelės, kur „rollno“ vertė yra 1.

Čia yra momentinė nuotrauka, rodanti duomenų bazės būseną ištrynus duomenis.

Kas nepalaiko Kasandros

„Cassandra“ užklausų kalboje (CQL) yra šie apribojimai.

  1. CQL nepalaiko agregavimo užklausų, tokių kaip maks., Min., Vid
  2. CQL nepalaiko grupių pagal užklausas.
  3. CQL nepalaiko prisijungimų.
  4. CQL nepalaiko ARBA užklausų.
  5. CQL nepalaiko pakaitinių simbolių užklausų.
  6. CQL nepalaiko Sąjungos, sankirtos užklausų.
  7. Lentelių stulpelių negalima filtruoti nesukūrus indekso.
  8. Didesnė nei (>) ir mažesnė nei (<) užklausa palaikoma tik grupavimo stulpelyje.

    „Cassandra“ užklausos kalba nėra tinkama analizės tikslams, nes ji turi tiek daug apribojimų.

Kasandra, kur sąlyga

Kasandroje duomenų paieška yra opi problema. Stulpelis filtruojamas „Cassandra“ kuriant indeksą ne pirminių raktų stulpeliuose.

Sintaksė

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

Pavyzdys

  • Čia yra momentinė nuotrauka, rodanti duomenų paiešką iš „Student“ lentelės be duomenų filtravimo.
select * from University.Student;

Du įrašai gaunami iš Studentų lentelės.

  • Čia yra momentinė nuotrauka, rodanti duomenų paiešką iš „Student“ su duomenų filtravimu. Gaunamas vienas įrašas.

Duomenys filtruojami pagal pavadinimo stulpelį. Gaunami visi įrašai, kurių vardas yra lygus Guru99.

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

Įdomios straipsniai...