Cassandra Limbajul de interogare (CQL): inserare în, actualizare (exemplu)
Introduceți date
Cassandra instrucțiunea insert scrie datele în Cassandra coloane sub formă de rând. Cassandra interogarea de inserare va stoca numai acele coloane care sunt date de utilizator. Trebuie să specificați în mod necesar doar coloana cheii primare.
Nu va ocupa spațiu pentru valori nedate. Nu se returnează niciun rezultat după inserare.
Sintaxă
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
Exemplu
Iată instantaneul celui executat Cassandra Interogarea de inserare în tabel care va insera o înregistrare Cassandra tabelul „Student”.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
După executarea cu succes a comenzii Insert into Cassandra, un rând va fi inserat în Cassandra Tabel Student cu rola nr. 2, Nume Michael, dept CS și semestrul 2.
Iată un instantaneu al stării curente a bazei de date.
Upsert Date
Cassandra se supără. Upsert înseamnă că Cassandra va insera un rând dacă o cheie primară nu există deja; altfel, dacă o cheie primară există deja, va actualiza acel rând.
Actualizați datele
Cassandra Interogarea de actualizare este utilizată pentru a actualiza datele din Cassandra tabel. Dacă nu se returnează niciun rezultat 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 „Unde”.
Sintaxă
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
Exemplu
Iată o captură de ecran care arată starea bazei de date înainte de actualizarea datelor.
Iată instantaneul celui executat Cassandra Comanda de actualizare care actualizează înregistrarea din tabelul Student.
Update University.Student Set name='Hayden' Where rollno=1;
După executarea cu succes a interogării de actualizare în Cassandra „Actualizați student”, numele studentului va fi schimbat din „Clark” în „Hayden” care are numărul 1.
Iată o captură de ecran care arată starea bazei de date după actualizarea datelor.
Cassandra Ștergeți datele
Comanda „Șterge” elimină un rând întreg sau unele coloane din tabel 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.TableName Where ColumnName1=ColumnValue
Cele de mai sus Cassandra sintaxa de ștergere a rândului va șterge unul sau mai multe rânduri în funcție de filtrarea datelor în clauza where.
Delete ColumnNames from KeyspaceName.TableName Where 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 tabel Student.
Delete from University.Student where rollno=1;
După executarea cu succes a comenzii CQL Delete, 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.
Ce Cassandra nu sustine
Există următoarele limitări în Cassandra limbaj de interogare (CQL).
- CQL nu acceptă interogări de agregare precum max, min, avg
- CQL nu acceptă gruparea după, având interogări.
- CQL nu acceptă îmbinări.
- CQL nu acceptă interogări SAU.
- CQL nu acceptă interogări wildcard.
- CQL nu acceptă interogări Union, Intersection.
- Coloanele din tabel nu pot fi filtrate fără crearea indexului.
- Interogarea mai mare decât (>) și mai mică decât (<) este acceptată numai pe coloana de grupare. Cassandra limbajul de interogare nu este potrivit pentru scopuri de analiză, deoarece are atât de multe limitări.
Cassandra Unde este Clauza?
In Cassandra, recuperarea datelor este o problemă sensibilă. Coloana este filtrată Cassandra prin crearea unui index pe coloanele cheie non-primare.
Sintaxă
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Exemplu
- Iată instantaneul care arată preluarea datelor din tabelul Student fără filtrarea datelor.
select * from University.Student;
Două înregistrări sunt preluate din tabelul Student.
- Iată instantaneul care arată preluarea datelor de la Student cu filtrarea datelor. O înregistrare este preluată.
Datele sunt filtrate după coloana de nume. Sunt preluate toate înregistrările care au un nume egal cu Guru99.
select * from University. Student where name='Guru99';