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”.

Introduceți date

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.

Introduceți 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.

Actualizați datele

Iată instantaneul celui executat Cassandra Comanda de actualizare care actualizează înregistrarea din tabelul Student.

Actualizați datele

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.

Actualizați datele

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.

Cassandra Ștergeți datele

Iată instantaneul comenzii care va elimina un rând din tabel Student.

Cassandra Ștergeți datele

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.

Cassandra Ștergeți datele

Ce Cassandra nu sustine

Există următoarele limitări în Cassandra limbaj de interogare (CQL).

  1. CQL nu acceptă interogări de agregare precum max, min, avg
  2. CQL nu acceptă gruparea după, având interogări.
  3. CQL nu acceptă îmbinări.
  4. CQL nu acceptă interogări SAU.
  5. CQL nu acceptă interogări wildcard.
  6. CQL nu acceptă interogări Union, Intersection.
  7. Coloanele din tabel nu pot fi filtrate fără crearea indexului.
  8. 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.

Cassandra Unde este Clauza?

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.

Cassandra Unde este Clauza?

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