Cassandra Język zapytań (CQL): Wstaw do, aktualizacja (przykład)
Wstaw dane
Cassandra instrukcja wstaw zapisuje dane Cassandra kolumny w formie wierszy. Cassandra zapytanie wstawiające zapisze tylko te kolumny, które podał użytkownik. 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 Cassandra Wstaw do tabeli zapytanie, które wstawi jeden rekord Cassandra tabela „Student”.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Po pomyślnym wykonaniu polecenia Wstaw do Cassandra, jeden wiersz zostanie wstawiony do Cassandra tabela Student z rolką nr 2, imieniem Michael, dział CS i semestr 2.
Oto migawka bieżącego stanu bazy danych.
Wstaw dane
Cassandra podnosi. Upsert to oznacza Cassandra wstawi wiersz, jeśli klucz podstawowy jeszcze nie istnieje; w przeciwnym razie, jeśli klucz podstawowy już istnieje, wiersz zostanie zaktualizowany.
Aktualizować dane
Cassandra Zapytanie aktualizacyjne służy do aktualizacji danych w pliku Cassandra stół. Jeśli po zaktualizowaniu 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.TableName
Set 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 Cassandra Polecenie aktualizacji aktualizujące rekord w tabeli Student.
Update University.Student Set name='Hayden' Where rollno=1;
Po pomyślnym wykonaniu zapytania aktualizacyjnego w Cassandra „Aktualizuj ucznia”, imię i nazwisko ucznia zostanie zmienione z „Clark” na „Hayden”, którego rolka ma numer 1.
Oto zrzut ekranu przedstawiający stan bazy danych po aktualizacji danych.
Cassandra Usunąć dane
Polecenie „Usuń” usuwa cały wiersz lub niektóre kolumny z tabeli Student. Usunięte dane nie są natychmiast usuwane z tabeli. Zamiast tego usunięte dane są oznaczane nagrobkiem i usuwane po zagęszczeniu.
Składnia
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Powyżej Cassandra Składnia usuwania wierszy usunie jeden lub więcej wierszy, w zależności od filtrowania danych w klauzuli Where.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Powyższa składnia spowoduje usunięcie niektórych kolumn z tabeli.
Przykład
Oto migawka pokazująca bieżący 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 CQL Delete, z tabeli Student, w której wartość rollno wynosi 1, zostanie usunięty jeden wiersz.
Oto migawka pokazująca stan bazy danych po usunięciu danych.
Co Cassandra nie wspiera
Istnieją następujące ograniczenia w Cassandra język zapytań (CQL).
- CQL nie obsługuje zapytań agregujących, takich jak maks., min., śr.
- CQL nie obsługuje grupowania poprzez zapytania.
- CQL nie obsługuje złączeń.
- CQL nie obsługuje zapytań OR.
- CQL nie obsługuje zapytań ze znakami wieloznacznymi.
- 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 przypadku kolumn klastrowanych. Cassandra język zapytań nie nadaje się do celów analitycznych, ponieważ ma wiele ograniczeń.
Cassandra Gdzie klauzula
In Cassandra, pobieranie danych jest kwestią delikatną. Kolumna jest filtrowana Cassandra tworząc indeks dla kolumn innych niż klucz podstawowy.
Składnia
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Przykład
- Oto migawka pokazująca pobieranie danych z tabeli Studenta bez filtrowania danych.
select * from University.Student;
Z tabeli Studenta pobierane są dwa rekordy.
- Oto migawka pokazująca pobieranie danych od Studenta z filtracją danych. Pobrano jeden rekord.
Dane są filtrowane według kolumny nazwy. Pobierane są wszystkie rekordy o nazwie równej Guru99.
select * from University. Student where name='Guru99';










