Cassandra Query Language (CQL): inserisci, aggiorna, elimina (esempio)

Sommario:

Anonim

In questo articolo imparerai-

  • Inserisci dati
  • Dati di aumento
  • Aggiorna dati
  • Elimina dati
  • Cassandra Where Clause

Inserisci dati

Il comando "Inserisci in" scrive i dati nelle colonne Cassandra sotto forma di riga. Memorizzerà solo quelle colonne fornite dall'utente. Devi necessariamente specificare solo la colonna della chiave primaria.

Non ci vorrà alcuno spazio per i valori non forniti. Nessun risultato viene restituito dopo l'inserimento.

Sintassi

Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )

Esempio

Ecco l'istantanea del comando eseguito 'Inserisci in' che inserirà un record nella tabella Cassandra 'Studente'.

Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);

Dopo aver eseguito con successo il comando 'Inserisci in', verrà inserita una riga nella tabella Cassandra Studente con RollNo 2, Nome Michele, reparto CS e Semestre 2.

Ecco l'istantanea dello stato corrente del database.

Dati di aumento

Cassandra fa upsert. Upsert significa che Cassandra inserirà una riga se una chiave primaria non esiste già, altrimenti se la chiave primaria esiste già, aggiornerà quella riga.

Aggiorna dati

Il comando "Aggiorna" viene utilizzato per aggiornare i dati nella tabella Cassandra. Se non vengono restituiti risultati dopo l'aggiornamento dei dati, significa che i dati sono stati aggiornati correttamente, altrimenti verrà restituito un errore. I valori delle colonne vengono modificati nella clausola "Set" mentre i dati vengono filtrati con la clausola "Where".

Sintassi

Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue

Esempio

Ecco lo screenshot che mostra lo stato del database prima di aggiornare i dati.

Ecco l'istantanea del comando eseguito 'Aggiorna' che aggiorna il record nella tabella Studente.

Update University.StudentSet name='Hayden'Where rollno=1;

Dopo aver eseguito con successo il comando "Aggiorna studente", il nome dello studente verrà modificato da "Clark" a "Hayden" con rollno 1.

Ecco lo screenshot che mostra lo stato del database dopo l'aggiornamento dei dati.

Cassandra Elimina dati

Il comando "Elimina" rimuove un'intera riga o alcune colonne dalla tabella Studente. Quando i dati vengono eliminati, non vengono eliminati immediatamente dalla tabella. I dati eliminati vengono invece contrassegnati con una lapide e vengono rimossi dopo la compattazione.

Sintassi

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

La sintassi precedente eliminerà una o più righe in base al filtraggio dei dati nella clausola where.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

La sintassi precedente eliminerà alcune colonne dalla tabella.

Esempio

Ecco l'istantanea che mostra lo stato corrente del database prima di eliminare i dati.

Ecco l'istantanea del comando che rimuoverà una riga dalla tabella Studente.

Delete from University.Student where rollno=1;

Dopo aver eseguito con successo il comando 'Elimina', una riga verrà eliminata dalla tabella Studente in cui il valore di rollno è 1.

Ecco l'istantanea che mostra lo stato del database dopo l'eliminazione dei dati.

Ciò che Cassandra non supporta

Esistono le seguenti limitazioni in Cassandra Query Language (CQL).

  1. CQL non supporta query di aggregazione come max, min, avg
  2. CQL non supporta group by, avendo query.
  3. CQL non supporta i join.
  4. CQL non supporta le query OR.
  5. CQL non supporta le query con caratteri jolly.
  6. CQL non supporta le query Union, Intersection.
  7. Le colonne della tabella non possono essere filtrate senza creare l'indice.
  8. La query maggiore di (>) e minore di (<) è supportata solo nella colonna di clustering.

    Il linguaggio di query Cassandra non è adatto per scopi di analisi perché ha molte limitazioni.

Cassandra Where Clause

In Cassandra, il recupero dei dati è una questione delicata. La colonna viene filtrata in Cassandra creando un indice su colonne chiave non primaria.

Sintassi

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

Esempio

  • Ecco l'istantanea che mostra il recupero dei dati dalla tabella Studente senza filtraggio dei dati.
select * from University.Student;

Vengono recuperati due record dalla tabella Studente.

  • Ecco l'istantanea che mostra il recupero dei dati da Student con il filtraggio dei dati. Viene recuperato un record.

I dati vengono filtrati in base alla colonna del nome. Vengono recuperati tutti i record con nome uguale a Guru99.

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