Cassandra Jezik upita (CQL): umetni u, ažuriraj (primjer)

Umetni podatke

Korištenje električnih romobila ističe Cassandra insert izjava upisuje podatke Cassandra stupaca u obliku retka. Cassandra upit za umetanje će pohraniti samo one stupce koje je dao korisnik. Morate nužno navesti samo stupac primarnog ključa.

Neće zauzimati prostor za nezadane vrijednosti. Nakon umetanja ne vraćaju se rezultati.

Sintaksa

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

Primjer

Evo snimka strijeljanih Cassandra Upit za umetanje u tablicu koji će umetnuti jedan zapis Cassandra tablica 'Student'.

Umetni podatke

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

Nakon uspješnog izvođenja naredbe Insert into Cassandra, jedan red će biti umetnut u Cassandra stol Student s RollNo 2, ime Michael, odjel CS i semestar 2.

Ovdje je snimka trenutnog stanja baze podataka.

Umetni podatke

Upsert Podaci

Cassandra čini upsert. Upsert znači to Cassandra umetnut će redak ako primarni ključ već ne postoji, inače ako primarni ključ već postoji, ažurirat će taj redak.

Ažuriranje podataka

Korištenje električnih romobila ističe Cassandra Upit za ažuriranje koristi se za ažuriranje podataka u Cassandra stol. Ako se nakon ažuriranja podataka ne vrate nikakvi rezultati, to znači da su podaci uspješno ažurirani, inače će biti vraćena pogreška. Vrijednosti stupaca mijenjaju se u klauzuli 'Set' dok se podaci filtriraju klauzulom 'Where'.

Sintaksa

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

Primjer

Ovdje je snimak zaslona koji prikazuje stanje baze podataka prije ažuriranja podataka.

Ažuriranje podataka

Evo snimka strijeljanih Cassandra Naredba za ažuriranje koja ažurira zapis u tablici učenika.

Ažuriranje podataka

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

Nakon uspješnog izvršenja upita za ažuriranje u Cassandra 'Ažuriraj učenika', ime učenika će se promijeniti iz 'Clark' u 'Hayden' koje ima broj 1.

Ovdje je snimak zaslona koji prikazuje stanje baze podataka nakon ažuriranja podataka.

Ažuriranje podataka

Cassandra Izbriši podatke

Naredba 'Izbriši' uklanja cijeli redak ili neke stupce iz tablice Student. Kada se podaci izbrišu, ne brišu se odmah iz tablice. Umjesto toga izbrisani podaci označeni su nadgrobnom pločom i uklonjeni su nakon sažimanja.

Sintaksa

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Gore Cassandra sintaksa brisanja reda izbrisat će jedan ili više redaka, ovisno o filtraciji podataka u klauzuli where.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Gornja sintaksa će izbrisati neke stupce iz tablice.

Primjer

Ovdje je snimka koja prikazuje trenutno stanje baze podataka prije brisanja podataka.

Cassandra Izbriši podatke

Ovdje je snimka naredbe koja će ukloniti jedan red iz tablice Student.

Cassandra Izbriši podatke

Delete from University.Student where rollno=1;

Nakon uspješnog izvršenja naredbe CQL Delete, jedan red će biti izbrisan iz tablice Student gdje je rollno vrijednost 1.

Ovdje je snimka koja prikazuje stanje baze podataka nakon brisanja podataka.

Cassandra Izbriši podatke

Što Cassandra ne podržava

Postoje sljedeća ograničenja u Cassandra upitni jezik (CQL).

  1. CQL ne podržava agregacijske upite kao što su max, min, avg
  2. CQL ne podržava grupiranje prema postavljanju upita.
  3. CQL ne podržava spajanja.
  4. CQL ne podržava OR upite.
  5. CQL ne podržava upite sa zamjenskim znakovima.
  6. CQL ne podržava upite Union, Intersection.
  7. Stupci tablice ne mogu se filtrirati bez stvaranja indeksa.
  8. Upit veće od (>) i manje od (<) podržan je samo u stupcu klasteriranja. Cassandra jezik upita nije prikladan za analitičke svrhe jer ima toliko ograničenja.

Cassandra Gdje je klauzula

In Cassandra, dohvaćanje podataka je osjetljivo pitanje. Stupac je filtriran Cassandra stvaranjem indeksa na stupcima neprimarnog ključa.

Sintaksa

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

Primjer

  • Ovdje je snimka koja prikazuje dohvaćanje podataka iz tablice učenika bez filtriranja podataka.

Cassandra Gdje je klauzula

select * from University.Student;

Dva zapisa se dohvaćaju iz tablice Student.

  • Ovdje je snimka koja prikazuje dohvaćanje podataka od Studenta s filtriranjem podataka. Pronađen je jedan zapis.

Podaci se filtriraju prema stupcu naziva. Dohvaćaju se svi zapisi koji imaju naziv jednak Guru99.

Cassandra Gdje je klauzula

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