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










