Cassandra Kyselykieli (CQL): Lisää, päivitä (esimerkki)
Lisää tiedot
- Cassandra insert-lause kirjoittaa tiedot sisään Cassandra sarakkeita rivimuodossa. Cassandra Lisää kysely tallentaa vain ne sarakkeet, jotka käyttäjä on antanut. Sinun on välttämättä määritettävä vain ensisijaisen avaimen sarake.
Se ei vie tilaa antamattomille arvoille. Tuloksia ei palauteta lisäyksen jälkeen.
Syntaksi
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
esimerkki
Tässä tilannekuva teloituksesta Cassandra Lisää taulukkokyselyyn, joka lisää yhden tietueen Cassandra pöytä "Opiskelija".
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Kun komento Insert into on suoritettu onnistuneesti Cassandra, yksi rivi lisätään kohtaan Cassandra taulukko Opiskelija, jolla on RollNo 2, nimi Michael, osasto CS ja lukukausi 2.
Tässä on tilannekuva tietokannan nykyisestä tilasta.
Upsert Data
Cassandra ärsyttää. Upsert tarkoittaa sitä Cassandra lisää rivin, jos ensisijaista avainta ei ole jo olemassa, muuten jos ensisijainen avain on jo olemassa, se päivittää kyseisen rivin.
Päivitä tiedot
- Cassandra Päivityskyselyä käytetään tietojen päivittämiseen Cassandra taulukko. Jos tuloksia ei palauteta tietojen päivityksen jälkeen, se tarkoittaa, että tiedot on päivitetty onnistuneesti, muuten palautetaan virhe. Sarakearvoja muutetaan "Set"-lauseessa, kun tiedot suodatetaan "Where"-lauseella.
Syntaksi
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
esimerkki
Tässä on kuvakaappaus, joka näyttää tietokannan tilan ennen tietojen päivittämistä.
Tässä tilannekuva teloituksesta Cassandra Päivitä-komento, joka päivittää opiskelijataulukon tietueen.
Update University.Student Set name='Hayden' Where rollno=1;
Päivityskyselyn onnistuneen suorittamisen jälkeen sisään Cassandra 'Päivitä opiskelija', opiskelijan nimi muutetaan 'Clark':sta 'Hayden'iksi, jolla on rollno 1.
Tässä on kuvakaappaus, joka näyttää tietokannan tilan tietojen päivityksen jälkeen.
Cassandra Poista tiedot
Komento 'Poista' poistaa koko rivin tai joitakin sarakkeita taulukosta Opiskelija. Kun tiedot poistetaan, niitä ei poisteta taulukosta välittömästi. Sen sijaan poistetut tiedot merkitään hautakivellä ja poistetaan tiivistyksen jälkeen.
Syntaksi
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Ylempi Cassandra Poista rivin syntaksi poistaa yhden tai useampia rivejä riippuen datan suodatuksesta where-lauseessa.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Yllä oleva syntaksi poistaa joitain sarakkeita taulukosta.
esimerkki
Tässä on tilannekuva, joka näyttää tietokannan nykyisen tilan ennen tietojen poistamista.
Tässä on tilannekuva komennosta, joka poistaa yhden rivin taulukosta Opiskelija.
Delete from University.Student where rollno=1;
CQL Delete -komennon onnistuneen suorittamisen jälkeen taulukosta Student, jossa rollno-arvo on 1, poistetaan yksi rivi.
Tässä on tilannekuva, joka näyttää tietokannan tilan tietojen poistamisen jälkeen.
Mitä Cassandra ei tue
Siinä on seuraavat rajoitukset Cassandra kyselykieli (CQL).
- CQL ei tue koontikyselyitä, kuten max, min, avg
- CQL ei tue ryhmittelyä, jolla on kyselyitä.
- CQL ei tue liitoksia.
- CQL ei tue TAI-kyselyitä.
- CQL ei tue jokerimerkkikyselyitä.
- CQL ei tue Unionin, Intersection-kyselyitä.
- Taulukon sarakkeita ei voi suodattaa luomatta hakemistoa.
- Suurempi kuin (>) ja pienempi kuin (<) -kyselyä tuetaan vain klusterisarakkeessa. Cassandra kyselykieli ei sovellu analytiikkatarkoituksiin, koska sillä on niin monia rajoituksia.
Cassandra Missä lauseke
In Cassandra, tietojen haku on arkaluonteinen asia. Pylväs suodatetaan sisään Cassandra luomalla indeksin ei-ensisijaisiin avainsarakkeisiin.
Syntaksi
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
esimerkki
- Tässä on tilannekuva, joka näyttää tietojen haun opiskelijataulukosta ilman tietojen suodatusta.
select * from University.Student;
Opiskelijataulukosta haetaan kaksi tietuetta.
- Tässä on tilannekuva, joka näyttää tietojen haun Studentilta tietojen suodatuksella. Yksi tietue haetaan.
Tiedot suodatetaan nimisarakkeen mukaan. Kaikki tietueet haetaan, joiden nimi on sama kuin Guru99.
select * from University. Student where name='Guru99';