I denne artikkelen vil du lære-
- Sett inn data
- Upsert Data
- Oppdater data
- Slett data
- Cassandra hvor klausul
Sett inn data
Kommandoen 'Sett inn i' skriver data i Cassandra-kolonner i radform. Den lagrer bare de kolonnene som er gitt av brukeren. Du må nødvendigvis spesifisere bare den primære nøkkelkolonnen.
Det tar ikke plass for ikke gitte verdier. Ingen resultater returneres etter innsetting.
Syntaks
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Eksempel
Her er øyeblikksbildet av den utførte kommandoen 'Sett inn i' som vil sette inn en post i Cassandra-tabellen 'Student'.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Etter vellykket utførelse av kommandoen 'Sett inn', vil en rad bli satt inn i Cassandra-tabellen Student med RollNo 2, Navn Michael, avd. CS og Semester 2.
Her er øyeblikksbildet av gjeldende databasetilstand.
Upsert Data
Cassandra gjør upsert. Upsert betyr at Cassandra vil sette inn en rad hvis en primærnøkkel ikke allerede eksisterer ellers hvis primærnøkkel allerede eksisterer, vil den oppdatere den raden.
Oppdater data
Kommando 'Update' brukes til å oppdatere dataene i Cassandra-tabellen. Hvis ingen resultater returneres etter oppdatering av data, betyr det at data er oppdatert, ellers returneres en feil. Kolonneverdier endres i Set-setningen mens data blir filtrert med "Where" -satsen.
Syntaks
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Eksempel
Her er skjermbildet som viser databasetilstanden før du oppdaterer data.
Her er øyeblikksbildet av den utførte kommandoen 'Oppdater' som oppdaterer posten i Student-tabellen.
Update University.StudentSet name='Hayden'Where rollno=1;
Etter vellykket gjennomføring av kommandoen 'Oppdater student', vil studentnavnet endres fra 'Clark' til 'Hayden' som har nummer 1.
Her er skjermbildet som viser databasetilstanden etter oppdatering av data.
Cassandra Slett data
Kommando 'Slett' fjerner en hel rad eller noen kolonner fra tabellen Student. Når data slettes, slettes de ikke umiddelbart fra tabellen. I stedet er slettede data merket med en gravstein og blir fjernet etter komprimering.
Syntaks
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Ovennevnte syntaks vil slette en eller flere rader, avhengig av datafiltrering i hvor klausul.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Syntaksen ovenfor vil slette noen kolonner fra tabellen.
Eksempel
Her er øyeblikksbildet som viser gjeldende databasetilstand før du sletter data.
Her er øyeblikksbildet av kommandoen som vil fjerne en rad fra tabellen Student.
Delete from University.Student where rollno=1;
Etter vellykket utføring av kommandoen 'Slett', vil en rad bli slettet fra tabellen Student der rollno-verdien er 1.
Her er øyeblikksbildet som viser databasetilstanden etter sletting av data.
Hva Cassandra ikke støtter
Det er følgende begrensninger i Cassandra spørrespråk (CQL).
- CQL støtter ikke aggregeringsspørsmål som max, min, avg
- CQL støtter ikke gruppe etter å ha spørsmål.
- CQL støtter ikke sammenkoblinger.
- CQL støtter ikke ELLER-spørsmål.
- CQL støtter ikke jokertegnspørsmål.
- CQL støtter ikke Union, Intersection-spørsmål.
- Tabellkolonner kan ikke filtreres uten å lage indeksen.
- Større enn (>) og mindre enn (<) spørring støttes bare i klyngekolonne.
Cassandra-spørrespråket er ikke egnet for analyseformål fordi det har så mange begrensninger.
Cassandra hvor klausul
I Cassandra er datainnhenting et følsomt problem. Kolonnen blir filtrert i Cassandra ved å lage en indeks på ikke-primære nøkkelkolonner.
Syntaks
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Eksempel
- Her er øyeblikksbildet som viser datahenting fra studenttabellen uten datafiltrering.
select * from University.Student;
To poster hentes fra studenttabellen.
- Her er øyeblikksbildet som viser datahenting fra Student med datafiltrering. Én plate blir hentet.
Data filtreres etter navnekolonne. Alle postene blir hentet som har navnet lik Guru99.
select * from University.Student where name='Guru99';