Cassandra Språk (CQL): Sett inn i, oppdater (eksempel)

Sett inn data

Ocuco Cassandra insert statement skriver data inn Cassandra kolonner i radform. Cassandra insert query vil lagre bare de kolonnene som er gitt av brukeren. Du må nødvendigvis spesifisere bare primærnøkkelkolonnen.

Det vil ikke ta plass for ikke gitte verdier. Ingen resultater returneres etter innsetting.

syntax

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

Eksempel

Her er øyeblikksbildet av de henrettede Cassandra Sett inn i tabellspørring som vil sette inn én post Cassandra tabellen 'Student'.

Sett inn data

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

Etter vellykket utførelse av kommandoen Sett inn i Cassandra, vil én rad settes inn i Cassandra tabell Student med RollNo 2, Navn Michael, avd CS og Semester 2.

Her er øyeblikksbildet av gjeldende databasetilstand.

Sett inn data

Upsert Data

Cassandra opprører. Upsert betyr det Cassandra vil sette inn en rad hvis en primærnøkkel ikke allerede eksisterer, ellers hvis primærnøkkelen allerede eksisterer, vil den oppdatere den raden.

Oppdater data

Ocuco Cassandra Oppdateringsspørring brukes til å oppdatere dataene i Cassandra bord. Hvis ingen resultater returneres etter oppdatering av data, betyr det at data er vellykket oppdatert, ellers vil en feil returneres. Kolonneverdier endres i 'Set'-leddet mens data filtreres med 'Where'-leddet.

syntax

Update KeyspaceName.TableName 
Set ColumnName1=new Column1Value,
      ColumnName2=new Column2Value,
      ColumnName3=new Column3Value,
       .
       .
       .
Where ColumnName=ColumnValue

Eksempel

Her er skjermbildet som viser databasetilstanden før du oppdaterer data.

Oppdater data

Her er øyeblikksbildet av de henrettede Cassandra Oppdateringskommando som oppdaterer posten i elevtabellen.

Oppdater data

Update University.Student
Set name='Hayden'
Where rollno=1;

Etter vellykket utførelse av oppdateringsspørringen i Cassandra 'Oppdater student', studentnavn vil bli endret fra 'Clark' til 'Hayden' som har rollno 1.

Her er skjermbildet som viser databasetilstanden etter oppdatering av data.

Oppdater data

Cassandra Slett data

Kommandoen 'Slett' fjerner en hel rad eller noen kolonner fra tabellen Student. Når data slettes, slettes de ikke umiddelbart fra tabellen. I stedet merkes slettede data med en gravstein og fjernes etter komprimering.

syntax

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Ovennevnte Cassandra slette radsyntaks vil slette én eller flere rader avhengig av datafiltrering i where-klausulen.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Syntaksen ovenfor vil slette noen kolonner fra tabellen.

Eksempel

Her er øyeblikksbildet som viser gjeldende databasestatus før du sletter data.

Cassandra Slett data

Her er øyeblikksbildet av kommandoen som vil fjerne én rad fra tabellen Student.

Cassandra Slett data

Delete from University.Student where rollno=1;

Etter vellykket utførelse av CQL Delete-kommandoen, vil én rad bli slettet fra tabellen Student der rollno-verdien er 1.

Her er øyeblikksbildet som viser databasetilstanden etter sletting av data.

Cassandra Slett data

Hva Cassandra støtter ikke

Det er følgende begrensninger i Cassandra spørringsspråk (CQL).

  1. CQL støtter ikke aggregeringsspørringer som max, min, avg
  2. CQL støtter ikke grupper ved å ha spørsmål.
  3. CQL støtter ikke joins.
  4. CQL støtter ikke OR-spørringer.
  5. CQL støtter ikke jokertegnspørringer.
  6. CQL støtter ikke Union, Intersection-spørringer.
  7. Tabellkolonner kan ikke filtreres uten å opprette indeksen.
  8. Større enn (>) og mindre enn (<)-spørringen støttes bare på klyngekolonnen. Cassandra spørringsspråk er ikke egnet for analyseformål fordi det har så mange begrensninger.

Cassandra Hvor klausul

In Cassandra, er datainnhenting et sensitivt problem. Kolonnen filtreres inn Cassandra ved å lage en indeks på ikke-primære nøkkelkolonner.

syntax

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

Eksempel

  • Her er øyeblikksbildet som viser datahentingen fra Studenttabellen uten datafiltrering.

Cassandra Hvor klausul

select * from University.Student;

To poster hentes fra Studenttabell.

  • Her er øyeblikksbildet som viser datahentingen fra Student med datafiltrering. Én post hentes.

Data filtreres etter navnekolonne. Alle postene er hentet som har navn lik Guru99.

Cassandra Hvor klausul

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