V tomto článku sa dozviete
- Vložte údaje
- Upsert Data
- Aktualizácia údajov
- Odstrániť údaje
- Cassandra Where Clause
Vložte údaje
Príkaz „Vložiť do“ zapíše údaje do stĺpcov Cassandra vo forme riadku. Uloží iba tie stĺpce, ktoré zadal používateľ. Musíte nevyhnutne určiť iba stĺpec primárneho kľúča.
Nebude to trvať žiadny priestor pre nezadané hodnoty. Po vložení sa nevrátia žiadne výsledky.
Syntax
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Príklad
Tu je snímka vykonaného príkazu „Vložiť do“, ktorý vloží jeden záznam do tabuľky Cassandra „Študent“.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Po úspešnom vykonaní príkazu „Vložiť do“ sa do tabuľky Cassandra vloží jeden riadok Študent s RollNo 2, Meno Michael, odd CS a Semester 2.
Tu je prehľad aktuálneho stavu databázy.
Upsert Data
Cassandra sa skutočne pozdáva. Upsert znamená, že Cassandra vloží riadok, ak už primárny kľúč neexistuje, inak, ak už primárny kľúč existuje, tento riadok aktualizuje.
Aktualizácia údajov
Príkaz „Aktualizovať“ sa používa na aktualizáciu údajov v tabuľke Cassandra. Ak sa po aktualizácii údajov nevrátia žiadne výsledky, znamená to, že údaje sa úspešne aktualizovali, inak sa vráti chyba. Hodnoty stĺpcov sa menia v doložke „Nastaviť“, zatiaľ čo údaje sa filtrujú s doložkou „Kde“.
Syntax
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Príklad
Tu je snímka obrazovky, ktorá zobrazuje stav databázy pred aktualizáciou údajov.
Tu je snímka vykonaného príkazu „Aktualizovať“, ktorá aktualizuje záznam v tabuľke Študent.
Update University.StudentSet name='Hayden'Where rollno=1;
Po úspešnom vykonaní príkazu 'Aktualizovať študenta' sa meno študenta zmení z 'Clark' na 'Hayden', ktorý má rollno 1.
Tu je snímka obrazovky, ktorá zobrazuje stav databázy po aktualizácii údajov.
Cassandra Vymazať údaje
Príkazom 'Odstrániť' sa odstráni celý riadok alebo niektoré stĺpce z tabuľky Študent. Keď sú údaje vymazané, neodstránia sa okamžite z tabuľky. Namiesto toho sú odstránené údaje označené náhrobkom a po zhutnení sa odstránia.
Syntax
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Vyššie uvedená syntax vymaže jeden alebo viac riadkov, ktoré závisia od filtrácie údajov v klauzule where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Vyššie uvedená syntax vymaže niektoré stĺpce z tabuľky.
Príklad
Tu je snímka, ktorá zobrazuje aktuálny stav databázy pred odstránením údajov.
Tu je snímka príkazu, ktorý odstráni jeden riadok z tabuľky Študent.
Delete from University.Student where rollno=1;
Po úspešnom vykonaní príkazu 'Odstrániť' bude z tabuľky Študent, kde je rollno hodnota 1, odstránený jeden riadok.
Tu je snímka, ktorá zobrazuje stav databázy po odstránení údajov.
Čo Cassandra nepodporuje
V dotazovacom jazyku Cassandra (CQL) existujú nasledujúce obmedzenia.
- CQL nepodporuje agregačné dotazy ako max, min, priem
- CQL nepodporuje zoskupovanie tým, že má dotazy.
- CQL nepodporuje pripojenia.
- CQL nepodporuje ALEBO dotazy.
- CQL nepodporuje dotazy so zástupnými znakmi.
- CQL nepodporuje dotazy Únie, Križovatka.
- Stĺpce tabuľky nie je možné filtrovať bez vytvorenia indexu.
- Väčší ako (>) a menší ako (<) dotaz je podporovaný iba v klastrovom stĺpci.
Dotazovací jazyk Cassandra nie je vhodný na analytické účely, pretože má toľko obmedzení.
Cassandra Where Clause
V Cassandre je získavanie údajov citlivým problémom. Stĺpec je filtrovaný v Cassandre vytvorením indexu v stĺpcoch neprimárneho kľúča.
Syntax
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Príklad
- Tu je snímka, ktorá zobrazuje načítanie údajov zo študentskej tabuľky bez filtrovania údajov.
select * from University.Student;
Z tabuľky študentov sa načítajú dva záznamy.
- Tu je snímka, ktorá zobrazuje načítanie údajov od študenta s filtráciou údajov. Je načítaný jeden záznam.
Údaje sú filtrované podľa stĺpca mien. Vyhľadajú sa všetky záznamy, ktorých názov sa rovná Guru99.
select * from University.Student where name='Guru99';