Cassandra Päringu keel (CQL): sisestamine, värskendamine (näide)
Sisesta andmed
. Cassandra insert lause kirjutab andmed sisse Cassandra veerud rea kujul. Cassandra sisestamise päring salvestab ainult need veerud, mille kasutaja on andnud. Peate tingimata määrama ainult primaarvõtme veeru.
Andmata väärtuste jaoks ei võta see ruumi. Pärast sisestamist tulemusi ei tagastata.
Süntaks
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
Näide
Siin on hetktõmmis hukatust Cassandra Sisestage tabelipäring, mis lisab ühe kirje Cassandra tabel "Õpilane".
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Pärast käsu Insert into edukat täitmist Cassandra, lisatakse üks rida Cassandra tabel Õpilane rollNo 2, nimi Michael, osakonna CS ja semester 2.
Siin on hetktõmmis praegusest andmebaasi olekust.
Upsert Data
Cassandra ajab närvi. Upsert tähendab seda Cassandra lisab rea, kui primaarvõtit pole juba olemas, vastasel juhul kui primaarvõti on juba olemas, värskendab see seda rida.
Värskenda andmeid
. Cassandra Värskenduspäringut kasutatakse andmete värskendamiseks Cassandra tabel. Kui pärast andmete värskendamist tulemusi ei tagastata, tähendab see, et andmed on edukalt värskendatud, vastasel juhul tagastatakse tõrge. Veergude väärtusi muudetakse klauslis „Määra”, samal ajal kui andmeid filtreeritakse klausli „Kuhu” abil.
Süntaks
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
Näide
Siin on ekraanipilt, mis näitab andmebaasi olekut enne andmete värskendamist.
Siin on hetktõmmis hukatust Cassandra Värskenduskäsk, mis värskendab õpilase tabelis olevat kirjet.
Update University.Student Set name='Hayden' Where rollno=1;
Pärast värskenduspäringu edukat täitmist Cassandra „Uuenda õpilast”, õpilase nimi muudetakse nimest „Clark” nimeks „Hayden”, millel on rollno 1.
Siin on ekraanipilt, mis näitab andmebaasi olekut pärast andmete värskendamist.
Cassandra Kustuta andmed
Käsk "Kustuta" eemaldab tabelist terve rea või mõned veerud. Andmete kustutamisel ei kustutata neid tabelist kohe. Selle asemel märgitakse kustutatud andmed hauakiviga ja eemaldatakse pärast tihendamist.
Süntaks
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Ülaltoodud Cassandra rea kustutamise süntaks kustutab ühe või mitu rida olenevalt andmete filtreerimisest kus-klauslis.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Ülaltoodud süntaks kustutab tabelist mõned veerud.
Näide
Siin on hetktõmmis, mis näitab praegust andmebaasi olekut enne andmete kustutamist.
Siin on hetktõmmis käsust, mis eemaldab tabelist Õpilane ühe rea.
Delete from University.Student where rollno=1;
Pärast CQL-i kustutamiskäsu edukat täitmist kustutatakse tabelist Student üks rida, kus rollno väärtus on 1.
Siin on hetktõmmis, mis näitab andmebaasi olekut pärast andmete kustutamist.
M Cassandra ei toeta
Siin on järgmised piirangud Cassandra päringukeel (CQL).
- CQL ei toeta koondamispäringuid, nagu max, min, avg
- CQL ei toeta päringute grupeerimist.
- CQL ei toeta liitumisi.
- CQL ei toeta VÕI päringuid.
- CQL ei toeta metamärgi päringuid.
- CQL ei toeta Unioni, Intersectioni päringuid.
- Tabeli veerge ei saa filtreerida ilma indeksit loomata.
- Suurem kui (>) ja väiksem kui (<) päringut toetatakse ainult klastrite veerus. Cassandra päringukeel ei sobi analüütikaks, kuna sellel on palju piiranguid.
Cassandra Kui klausel
In Cassandra, on andmete hankimine tundlik teema. Kolonn filtreeritakse sisse Cassandra luues indeksi mittepõhistele võtmete veergudele.
Süntaks
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Näide
- Siin on hetktõmmis, mis näitab andmete väljavõtmist õpilase tabelist ilma andmete filtreerimiseta.
select * from University.Student;
Õpilase tabelist leitakse kaks kirjet.
- Siin on hetktõmmis, mis näitab andmete väljavõtmist õpilasest andmete filtreerimisega. Otsitakse üks kirje.
Andmed filtreeritakse nime veeru järgi. Otsitakse kõik kirjed, mille nimi on võrdne Guru99-ga.
select * from University. Student where name='Guru99';