W tym artykule dowiesz się-
- Wstaw dane
- Upsert Data
- Uaktualnij dane
- Usunąć dane
- Cassandra Where Clause
Wstaw dane
Polecenie „Wstaw do” zapisuje dane w kolumnach Cassandry w postaci wiersza. Będzie przechowywać tylko te kolumny, które są podane przez użytkownika. Musisz koniecznie określić tylko kolumnę klucza podstawowego.
Nie zajmie miejsca na nie podane wartości. Po wstawieniu nie są zwracane żadne wyniki.
Składnia
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Przykład
Oto migawka wykonanego polecenia „Wstaw do”, które spowoduje wstawienie jednego rekordu do tabeli Cassandra „Student”.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Po pomyślnym wykonaniu polecenia `` Wstaw do '', jeden wiersz zostanie wstawiony do tabeli Cassandra Student z RollNo 2, imię Michael, dział CS i semestr 2.
Oto migawka bieżącego stanu bazy danych.
Upsert Data
Cassandra podnosi na duchu. Upsert oznacza, że Cassandra wstawi wiersz, jeśli klucz podstawowy już nie istnieje, w przeciwnym razie, jeśli klucz podstawowy już istnieje, zaktualizuje ten wiersz.
Uaktualnij dane
Polecenie „Aktualizuj” służy do aktualizacji danych w tabeli Cassandra. Jeśli po aktualizacji danych nie zostaną zwrócone żadne wyniki, oznacza to, że dane zostały pomyślnie zaktualizowane, w przeciwnym razie zostanie zwrócony błąd. Wartości kolumn są zmieniane w klauzuli „Set”, podczas gdy dane są filtrowane za pomocą klauzuli „Where”.
Składnia
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Przykład
Oto zrzut ekranu przedstawiający stan bazy danych przed aktualizacją danych.
Oto migawka wykonanego polecenia „Aktualizuj”, które aktualizuje rekord w tabeli Uczniów.
Update University.StudentSet name='Hayden'Where rollno=1;
Po pomyślnym wykonaniu polecenia „Aktualizuj ucznia”, nazwisko ucznia zostanie zmienione z „Clark” na „Hayden”, które ma numer 1.
Oto zrzut ekranu przedstawiający stan bazy danych po aktualizacji danych.
Cassandra Usuń dane
Polecenie „Usuń” usuwa cały wiersz lub niektóre kolumny z tabeli. Uczeń. Usunięcie danych nie powoduje ich natychmiastowego usunięcia z tabeli. Zamiast tego usunięte dane są oznaczane reliktem i są usuwane po zagęszczeniu.
Składnia
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Powyższa składnia usunie jeden lub więcej wierszy w zależności od filtrowania danych w klauzuli where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Powyższa składnia spowoduje usunięcie niektórych kolumn z tabeli.
Przykład
Oto migawka pokazująca aktualny stan bazy danych przed usunięciem danych.
Oto migawka polecenia, które usunie jeden wiersz z tabeli Student.
Delete from University.Student where rollno=1;
Po pomyślnym wykonaniu polecenia „Usuń” jeden wiersz zostanie usunięty z tabeli Student, w której wartość rollno wynosi 1.
Oto migawka pokazująca stan bazy danych po usunięciu danych.
Czego Cassandra nie obsługuje
Istnieją następujące ograniczenia w języku zapytań Cassandra (CQL).
- CQL nie obsługuje zapytań agregujących, takich jak max, min, avg
- CQL nie obsługuje grupowania według zapytań.
- CQL nie obsługuje złączeń.
- CQL nie obsługuje zapytań OR.
- CQL nie obsługuje zapytań o symbole wieloznaczne.
- CQL nie obsługuje zapytań Union, Intersection.
- Kolumn tabeli nie można filtrować bez utworzenia indeksu.
- Zapytanie Większe niż (>) i Mniejsze niż (<) jest obsługiwane tylko w kolumnie klastrowej.
Język zapytań Cassandra nie nadaje się do celów analitycznych, ponieważ ma tak wiele ograniczeń.
Cassandra Where Clause
W Cassandrze odzyskiwanie danych jest delikatną kwestią. Kolumna jest filtrowana w Cassandrze przez utworzenie indeksu dla kolumn z kluczem innym niż podstawowy.
Składnia
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Przykład
- Oto migawka, która pokazuje pobieranie danych z tabeli Studentów bez filtrowania danych.
select * from University.Student;
Z tabeli Ucznia pobierane są dwa rekordy.
- Oto migawka, która pokazuje pobieranie danych od Studenta z filtracją danych. Pobierany jest jeden rekord.
Dane są filtrowane według kolumny nazw. Pobierane są wszystkie rekordy, które mają nazwę równą Guru99.
select * from University.Student where name='Guru99';