Σε αυτό το άρθρο, θα μάθετε-
- Εισαγωγή δεδομένων
- Δεδομένα Upsert
- Ενημέρωση δεδομένων
- Διαγραφή δεδομένων
- Κασσάνδρα όπου ρήτρα
Εισαγωγή δεδομένων
Η εντολή «Εισαγωγή σε» γράφει δεδομένα σε στήλες της Κασσάνδρας σε μορφή σειράς. Θα αποθηκεύει μόνο εκείνες τις στήλες που δίνονται από τον χρήστη. Πρέπει απαραίτητα να καθορίσετε μόνο τη στήλη πρωτεύοντος κλειδιού.
Δεν θα πάρει χώρο για μη δεδομένες τιμές. Δεν επιστρέφονται αποτελέσματα μετά την εισαγωγή.
Σύνταξη
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Παράδειγμα
Εδώ είναι το στιγμιότυπο της εκτελεσμένης εντολής «Εισαγωγή σε» που θα εισαγάγει μία εγγραφή στον πίνακα Cassandra «Student».
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Μετά την επιτυχή εκτέλεση της εντολής «Insert Into», μια σειρά θα εισαχθεί στον πίνακα Cassandra Student με RollNo 2, Name Michael, dept CS και Semester 2.
Ακολουθεί το στιγμιότυπο της τρέχουσας κατάστασης βάσης δεδομένων.
Δεδομένα Upsert
Η Κασσάνδρα ανεβαίνει. Το Upsert σημαίνει ότι η Cassandra θα εισαγάγει μια σειρά εάν ένα πρωτεύον κλειδί δεν υπάρχει ήδη αλλιώς εάν το πρωτεύον κλειδί υπάρχει ήδη, θα ενημερώσει αυτήν τη σειρά.
Ενημέρωση δεδομένων
Η εντολή «Ενημέρωση» χρησιμοποιείται για την ενημέρωση των δεδομένων στον πίνακα της Κασσάνδρας. Εάν δεν επιστραφούν αποτελέσματα μετά την ενημέρωση των δεδομένων, αυτό σημαίνει ότι τα δεδομένα ενημερώνονται επιτυχώς διαφορετικά θα επιστραφεί ένα σφάλμα. Οι τιμές της στήλης αλλάζουν σε ρήτρα «Set», ενώ τα δεδομένα φιλτράρονται με τον όρο «Where».
Σύνταξη
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Παράδειγμα
Εδώ είναι το στιγμιότυπο οθόνης που δείχνει την κατάσταση της βάσης δεδομένων πριν από την ενημέρωση των δεδομένων.
Ακολουθεί το στιγμιότυπο της εκτελεσμένης εντολής «Ενημέρωση» που ενημερώνει την εγγραφή στον πίνακα μαθητή.
Update University.StudentSet name='Hayden'Where rollno=1;
Μετά την επιτυχή εκτέλεση της εντολής «Ενημέρωση μαθητή», το όνομα του μαθητή θα αλλάξει από «Clark» σε «Hayden» που έχει το rollno 1.
Εδώ είναι το στιγμιότυπο οθόνης που δείχνει την κατάσταση της βάσης δεδομένων μετά την ενημέρωση των δεδομένων.
Διαγραφή δεδομένων Cassandra
Η εντολή "Διαγραφή" αφαιρεί μια ολόκληρη σειρά ή μερικές στήλες από τον πίνακα Student. Όταν τα δεδομένα διαγράφονται, δεν διαγράφονται αμέσως από τον πίνακα. Αντ 'αυτού τα διαγραμμένα δεδομένα επισημαίνονται με ταφόπλακα και αφαιρούνται μετά τη συμπίεση.
Σύνταξη
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Η παραπάνω σύνταξη θα διαγράψει μία ή περισσότερες σειρές που εξαρτώνται από το φιλτράρισμα δεδομένων, όπου ο όρος.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Η παραπάνω σύνταξη θα διαγράψει ορισμένες στήλες από τον πίνακα.
Παράδειγμα
Εδώ είναι το στιγμιότυπο που δείχνει την τρέχουσα κατάσταση της βάσης δεδομένων πριν από τη διαγραφή δεδομένων.
Εδώ είναι το στιγμιότυπο της εντολής που θα αφαιρέσει μία σειρά από τον πίνακα Student.
Delete from University.Student where rollno=1;
Μετά την επιτυχή εκτέλεση της εντολής «Διαγραφή», μία γραμμή θα διαγραφεί από τον πίνακα Μαθητής όπου η τιμή rollno είναι 1.
Εδώ είναι το στιγμιότυπο που δείχνει την κατάσταση της βάσης δεδομένων μετά τη διαγραφή δεδομένων.
Αυτό που δεν υποστηρίζει η Κασσάνδρα
Υπάρχουν ακόλουθοι περιορισμοί στη γλώσσα ερωτημάτων της Κασσάνδρας (CQL).
- Η CQL δεν υποστηρίζει ερωτήματα συγκέντρωσης όπως μέγ., Ελάχιστο, μέσο
- Η CQL δεν υποστηρίζει ομάδα από, έχοντας ερωτήματα.
- Η CQL δεν υποστηρίζει συνδέσεις.
- Η CQL δεν υποστηρίζει ερωτήματα Ή.
- Η CQL δεν υποστηρίζει ερωτήματα μπαλαντέρ.
- Η CQL δεν υποστηρίζει ερωτήματα Union, Intersection.
- Οι στήλες πίνακα δεν μπορούν να φιλτραριστούν χωρίς τη δημιουργία του ευρετηρίου.
- Το ερώτημα μεγαλύτερο από (>) και λιγότερο από (<) υποστηρίζεται μόνο σε στήλη ομαδοποίησης.
Η γλώσσα ερωτήματος Cassandra δεν είναι κατάλληλη για σκοπούς ανάλυσης, επειδή έχει τόσους πολλούς περιορισμούς.
Κασσάνδρα όπου ρήτρα
Στην Κασσάνδρα, η ανάκτηση δεδομένων είναι ένα ευαίσθητο ζήτημα. Η στήλη φιλτράρεται στην Κασσάνδρα δημιουργώντας ένα ευρετήριο σε μη βασικές στήλες κλειδιών.
Σύνταξη
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Παράδειγμα
- Εδώ είναι το στιγμιότυπο που δείχνει την ανάκτηση δεδομένων από τον πίνακα μαθητή χωρίς φιλτράρισμα δεδομένων.
select * from University.Student;
Ανακτήθηκαν δύο εγγραφές από τον πίνακα μαθητή.
- Εδώ είναι το στιγμιότυπο που δείχνει την ανάκτηση δεδομένων από το Student με φιλτράρισμα δεδομένων. Ανακτήθηκε μία εγγραφή.
Τα δεδομένα φιλτράρονται κατά στήλη ονόματος. Ανακτώνται όλες οι εγγραφές που έχουν όνομα ίσο με το Guru99.
select * from University.Student where name='Guru99';