Cassandra Dotazovací jazyk (CQL): vložit do, aktualizovat (příklad)

Vložte data

Jedno Cassandra příkaz insert zapíše data Cassandra sloupce v řádkové formě. Cassandra vložit dotaz uloží pouze ty sloupce, které jsou zadány uživatelem. Musíte nutně zadat pouze sloupec primárního klíče.

Nezabere žádný prostor pro neuvedené hodnoty. Po vložení nejsou vráceny žádné výsledky.

Syntax

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

Příklad

Zde je snímek popravených Cassandra Vložit do tabulky dotaz, který vloží jeden záznam Cassandra stůl 'Student'.

Vložte data

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

Po úspěšném provedení příkazu Vložit do Cassandra, bude vložen jeden řádek do Cassandra tabulka Student s RollNo 2, Name Michael, oddělení CS a Semestr 2.

Zde je snímek aktuálního stavu databáze.

Vložte data

Upsert Data

Cassandra dělá upsert. Upsert to znamená Cassandra vloží řádek, pokud primární klíč již neexistuje, jinak pokud primární klíč již existuje, aktualizuje tento řádek.

Aktualizovat data

Jedno Cassandra Aktualizační dotaz se používá k aktualizaci dat v Cassandra tabulka. Pokud po aktualizaci dat nejsou vráceny žádné výsledky, znamená to, že data byla úspěšně aktualizována, jinak bude vrácena chyba. Hodnoty sloupců se mění v klauzuli 'Set', zatímco data jsou filtrována klauzuli 'Where'.

Syntax

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

Příklad

Zde je snímek obrazovky, který ukazuje stav databáze před aktualizací dat.

Aktualizovat data

Zde je snímek popravených Cassandra Příkaz Aktualizovat, který aktualizuje záznam v tabulce Student.

Aktualizovat data

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

Po úspěšném provedení aktualizačního dotazu v Cassandra 'Aktualizovat studenta', jméno studenta se změní z 'Clark' na 'Hayden', který má rollno 1.

Zde je snímek obrazovky, který ukazuje stav databáze po aktualizaci dat.

Aktualizovat data

Cassandra Smazat data

Příkaz 'Delete' odstraní celý řádek nebo některé sloupce z tabulky Student. Když jsou data smazána, neodstraní se z tabulky okamžitě. Místo toho jsou smazaná data označena náhrobním kamenem a po zhutnění jsou odstraněna.

Syntax

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Výše Cassandra syntaxe delete řádku odstraní jeden nebo více řádků v závislosti na filtraci dat v klauzuli where.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Výše uvedená syntaxe odstraní některé sloupce z tabulky.

Příklad

Zde je snímek, který ukazuje aktuální stav databáze před odstraněním dat.

Cassandra Smazat data

Zde je snímek příkazu, který odstraní jeden řádek z tabulky Student.

Cassandra Smazat data

Delete from University.Student where rollno=1;

Po úspěšném provedení příkazu CQL Delete bude smazán jeden řádek z tabulky Student, kde hodnota rollno je 1.

Zde je snímek, který ukazuje stav databáze po smazání dat.

Cassandra Smazat data

Co Cassandra nepodporuje

Existují následující omezení Cassandra dotazovací jazyk (CQL).

  1. CQL nepodporuje agregační dotazy jako max, min, avg
  2. CQL nepodporuje seskupování podle dotazů.
  3. CQL nepodporuje spojení.
  4. CQL nepodporuje dotazy OR.
  5. CQL nepodporuje dotazy se zástupnými znaky.
  6. CQL nepodporuje dotazy Union, Intersection.
  7. Sloupce tabulky nelze filtrovat bez vytvoření indexu.
  8. Dotaz větší než (>) a menší než (<) je podporován pouze ve sloupci shlukování. Cassandra dotazovací jazyk není vhodný pro analytické účely, protože má mnoho omezení.

Cassandra Kde klauzule

In Cassandra, načítání dat je citlivý problém. Kolona se přefiltruje Cassandra vytvořením indexu na neprimárních klíčových sloupcích.

Syntax

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

Příklad

  • Zde je snímek, který ukazuje načítání dat z tabulky Student bez filtrace dat.

Cassandra Kde klauzule

select * from University.Student;

Z tabulky Student jsou načteny dva záznamy.

  • Zde je snímek, který ukazuje načítání dat od Studenta s filtrací dat. Je načten jeden záznam.

Data jsou filtrována podle sloupce názvu. Jsou načteny všechny záznamy, které mají jméno rovné Guru99.

Cassandra Kde klauzule

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

Denní zpravodaj Guru99

Začněte svůj den s nejnovějšími a nejdůležitějšími zprávami o umělé inteligenci, které vám přinášíme právě teď.