În acest articol, veți învăța-
- Inserați date
- Date Upsert
- Actualizați datele
- Ștergeți datele
- Clauza Cassandra Where
Inserați date
Comanda „Inserați în” scrie date în coloane Cassandra sub formă de rând. Va stoca doar acele coloane care sunt date de utilizator. Trebuie să specificați în mod necesar doar coloana cheii primare.
Nu va fi nevoie de niciun spațiu pentru valori care nu sunt date. Nu se returnează rezultate după inserare.
Sintaxă
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Exemplu
Iată instantaneul comenzii executate „Insert into” care va insera o înregistrare în tabelul Cassandra „Student”.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
După executarea cu succes a comenzii „Insert Into”, un rând va fi inserat în tabelul Cassandra Student cu RollNo 2, Name Michael, departamentul CS și semestrul 2.
Iată instantaneul stării curente a bazei de date.
Date Upsert
Cassandra se supără. Upsert înseamnă că Cassandra va insera un rând dacă o cheie primară nu există deja altfel, dacă cheia primară există deja, va actualiza acel rând.
Actualizați datele
Comanda „Actualizare” este utilizată pentru a actualiza datele din tabelul Cassandra. Dacă nu se returnează rezultate după actualizarea datelor, înseamnă că datele sunt actualizate cu succes, altfel va fi returnată o eroare. Valorile coloanelor sunt modificate în clauza „Set”, în timp ce datele sunt filtrate cu clauza „Where”.
Sintaxă
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Exemplu
Iată captura de ecran care arată starea bazei de date înainte de actualizarea datelor.
Iată instantaneul comenzii executate „Actualizare” care actualizează înregistrarea din tabelul Student.
Update University.StudentSet name='Hayden'Where rollno=1;
După executarea cu succes a comenzii „Update Student”, numele studentului va fi schimbat din „Clark” în „Hayden” care are rollno 1.
Iată captura de ecran care arată starea bazei de date după actualizarea datelor.
Cassandra Delete Data
Comanda „Șterge” elimină un rând întreg sau câteva coloane din tabelul Student. Când datele sunt șterse, acestea nu sunt șterse imediat din tabel. În schimb, datele șterse sunt marcate cu o piatră funerară și sunt eliminate după compactare.
Sintaxă
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaxa de mai sus va șterge unul sau mai multe rânduri depinde de filtrarea datelor în clauza unde.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Sintaxa de mai sus va șterge unele coloane din tabel.
Exemplu
Iată instantaneul care arată starea curentă a bazei de date înainte de ștergerea datelor.
Iată instantaneul comenzii care va elimina un rând din tabelul Student.
Delete from University.Student where rollno=1;
După executarea cu succes a comenzii „Ștergeți”, un rând va fi șters din tabelul Student unde valoarea rollno este 1.
Iată instantaneul care arată starea bazei de date după ștergerea datelor.
Ceea ce Cassandra nu acceptă
Există următoarele limitări în limbajul de interogare Cassandra (CQL).
- CQL nu acceptă interogări de agregare precum max, min, avg
- CQL nu acceptă gruparea, având întrebări.
- CQL nu acceptă îmbinările.
- CQL nu acceptă SAU interogări.
- CQL nu acceptă interogări cu metacaracter.
- CQL nu acceptă interogările Union, Intersection.
- Coloanele tabelului nu pot fi filtrate fără a crea indexul.
- Interogarea mai mare decât (>) și mai mică de (<) este acceptată numai în coloana de grupare.
Limbajul de interogare Cassandra nu este potrivit în scopuri analitice, deoarece are atât de multe limitări.
Clauza Cassandra Where
În Cassandra, recuperarea datelor este o problemă delicată. Coloana este filtrată în Cassandra prin crearea unui index pe coloane cu cheie non-primară.
Sintaxă
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Exemplu
- Iată instantaneul care arată extragerea datelor din tabelul Student fără filtrarea datelor.
select * from University.Student;
Două înregistrări sunt extrase din tabelul Student.
- Iată instantaneul care arată extragerea datelor de la Student cu filtrarea datelor. Este recuperată o înregistrare.
Datele sunt filtrate după coloana nume. Sunt recuperate toate înregistrările care au un nume egal cu Guru99.
select * from University.Student where name='Guru99';