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

Η παραπάνω σύνταξη θα διαγράψει ορισμένες στήλες από τον πίνακα.

Παράδειγμα

Εδώ είναι το στιγμιότυπο που δείχνει την τρέχουσα κατάσταση της βάσης δεδομένων πριν από τη διαγραφή δεδομένων.

Cassandra Διαγραφή δεδομένων

Εδώ είναι το στιγμιότυπο της εντολής που θα αφαιρέσει μια σειρά από τον πίνακα Student.

Cassandra Διαγραφή δεδομένων

Delete from University.Student where rollno=1;

Μετά την επιτυχή εκτέλεση της εντολής CQL Delete, μία σειρά θα διαγραφεί από τον πίνακα Student όπου η τιμή rollno είναι 1.

Εδώ είναι το στιγμιότυπο που δείχνει την κατάσταση της βάσης δεδομένων μετά τη διαγραφή δεδομένων.

Cassandra Διαγραφή δεδομένων

Τι Cassandra δεν υποστηρίζει

Υπάρχουν οι ακόλουθοι περιορισμοί σε Cassandra γλώσσα ερωτήματος (CQL).

  1. Η CQL δεν υποστηρίζει ερωτήματα συνάθροισης όπως μέγ., ελάχ., μέσος όρος
  2. Η CQL δεν υποστηρίζει ομαδοποίηση, έχοντας ερωτήματα.
  3. Η CQL δεν υποστηρίζει συνδέσεις.
  4. Η CQL δεν υποστηρίζει ερωτήματα OR.
  5. Η CQL δεν υποστηρίζει ερωτήματα με χαρακτήρες μπαλαντέρ.
  6. Η CQL δεν υποστηρίζει ερωτήματα Union, Intersection.
  7. Οι στήλες του πίνακα δεν μπορούν να φιλτραριστούν χωρίς τη δημιουργία του ευρετηρίου.
  8. Το ερώτημα μεγαλύτερο από (>) και μικρότερο από (<) υποστηρίζεται μόνο στη στήλη ομαδοποίησης. Cassandra Η γλώσσα ερωτημάτων δεν είναι κατάλληλη για σκοπούς ανάλυσης επειδή έχει τόσους πολλούς περιορισμούς.

Cassandra Όπου η ρήτρα

In Cassandra, η ανάκτηση δεδομένων είναι ένα ευαίσθητο ζήτημα. Η στήλη φιλτράρεται Cassandra δημιουργώντας ένα ευρετήριο σε στήλες μη πρωτεύοντος κλειδιού.

Σύνταξη

Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND
	ColumnName2=Column2Value AND
	.
	.
	.

Παράδειγμα

  • Εδώ είναι το στιγμιότυπο που δείχνει την ανάκτηση δεδομένων από τον πίνακα Student χωρίς φιλτράρισμα δεδομένων.

Cassandra Όπου η ρήτρα

select * from University.Student;

Δύο εγγραφές ανακτώνται από τον πίνακα Student.

  • Εδώ είναι το στιγμιότυπο που δείχνει την ανάκτηση δεδομένων από Student με φιλτράρισμα δεδομένων. Ανακτήθηκε μία εγγραφή.

Τα δεδομένα φιλτράρονται κατά στήλη ονόματος. Ανακτώνται όλες οι εγγραφές που έχουν όνομα ίσο με Guru99.

Cassandra Όπου η ρήτρα

select * from University. Student where name='Guru99';

Συνοψίστε αυτήν την ανάρτηση με: