Cassandra Query Language (CQL): vstavi v, posodobi, izbriši (primer)

Kazalo:

Anonim

V tem članku boste izvedeli-

  • Vstavi podatke
  • Priloži podatke
  • Posodobi podatke
  • Izbriši podatke
  • Klavzula Cassandra

Vstavi podatke

Ukaz 'Vstavi v' zapisuje podatke v stolpce Cassandra v obliki vrstic. Shranila bo samo tiste stolpce, ki jih je dal uporabnik. Nujno morate navesti samo stolpec primarnega ključa.

Ne bo prostora za ne dane vrednosti. Po vstavitvi se rezultati ne vrnejo.

Sintaksa

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

Primer

Tu je posnetek izvršenega ukaza 'Vstavi v', ki bo v tabelo Cassandra 'Študent' vstavil en zapis.

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

Po uspešni izvedbi ukaza 'Insert Into' se v tabelo Cassandra Student vstavi ena vrstica z imenom RollNo 2, imenom Michael, oddelkom CS in semestrom 2.

Tu je posnetek trenutnega stanja baze podatkov.

Priloži podatke

Cassandra se navzdol. Upsert pomeni, da bo Cassandra vstavila vrstico, če primarni ključ že ne obstaja, sicer pa, če primarni ključ že obstaja, bo to vrstico posodobila.

Posodobi podatke

Ukaz 'Posodobi' se uporablja za posodobitev podatkov v tabeli Cassandra. Če po posodobitvi podatkov ni vrnjenih rezultatov, to pomeni, da so podatki uspešno posodobljeni, sicer se vrne napaka. Vrednosti stolpcev se spremenijo v stavku 'Set', medtem ko se podatki filtrirajo s stavkom 'Where'.

Sintaksa

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

Primer

Tu je posnetek zaslona, ​​ki prikazuje stanje baze podatkov pred posodobitvijo podatkov.

Tu je posnetek izvršenega ukaza 'Posodobi', ki posodobi zapis v tabeli Študent.

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

Po uspešni izvedbi ukaza 'Posodobi študenta' se ime študenta spremeni iz 'Clark' v 'Hayden', ki ima rollno 1.

Tu je posnetek zaslona, ​​ki prikazuje stanje baze podatkov po posodobitvi podatkov.

Cassandra Izbriši podatke

Ukaz 'Delete' iz tabele Študent odstrani celo vrstico ali nekatere stolpce. Ko se podatki izbrišejo, se ne izbrišejo takoj iz tabele. Namesto tega so izbrisani podatki označeni z nagrobnim spomenikom in se po zbijanju odstranijo.

Sintaksa

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Zgornja sintaksa bo izbrisala eno ali več vrstic, odvisno od filtracije podatkov v klavzuli where.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Zgornja sintaksa bo iz tabele izbrisala nekatere stolpce.

Primer

Tu je posnetek, ki prikazuje trenutno stanje baze podatkov pred brisanjem podatkov.

Tu je posnetek ukaza, ki bo odstranil eno vrstico iz tabele Študent.

Delete from University.Student where rollno=1;

Po uspešni izvedbi ukaza 'Delete' se iz tabele Student, kjer je vrednost rollno 1, izbrišejo ene vrstice.

Tu je posnetek, ki prikazuje stanje baze podatkov po brisanju podatkov.

Česar Cassandra ne podpira

V poizvedbenem jeziku Cassandra (CQL) obstajajo naslednje omejitve.

  1. CQL ne podpira poizvedb za združevanje, kot so max, min, avg
  2. CQL ne podpira skupine, ki ima poizvedbe.
  3. CQL ne podpira združevanja.
  4. CQL ne podpira poizvedb ALI.
  5. CQL ne podpira poizvedb z nadomestnimi znaki.
  6. CQL ne podpira poizvedb Union, Intersection.
  7. Stolpcev tabele ni mogoče filtrirati brez ustvarjanja indeksa.
  8. Poizvedba večja od (>) in manjša od (<) je podprta samo v stolpcu grozdenja.

    Poizvedbeni jezik Cassandra ni primeren za analitične namene, ker ima toliko omejitev.

Klavzula Cassandra

V Cassandri je iskanje podatkov občutljivo vprašanje. Stolpec se v Cassandri filtrira z ustvarjanjem indeksa na stolpcih s primarnimi ključi.

Sintaksa

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

Primer

  • Tu je posnetek, ki prikazuje pridobivanje podatkov iz študentske tabele brez filtriranja podatkov.
select * from University.Student;

Iz študentske tabele sta pridobljena dva zapisa.

  • Tu je posnetek, ki prikazuje pridobivanje podatkov od študenta s filtriranjem podatkov. Pridobljen je en zapis.

Podatki so filtrirani po stolpcu z imeni. Pridobljeni so vsi zapisi z imenom, enakim Guru99.

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