У цій статті ви дізнаєтесь-
- Вставити дані
- Вставити дані
- Оновити дані
- Видалити дані
- Касандра де клаузула
Вставити дані
Команда "Вставити в" записує дані у стовпці Кассандри у формі рядка. Він буде зберігати лише ті стовпці, які надає користувач. Ви повинні обов'язково вказати лише стовпець первинного ключа.
Це не займе місця для не заданих значень. Після вставки результати не повертаються.
Синтаксис
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Приклад
Ось знімок виконаної команди "Вставити в", яка вставить один запис у таблицю Кассандри "Студент".
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Після успішного виконання команди 'Insert Into', один рядок буде вставлений в таблицю Cassandra Student з RollNo 2, ім'ям Майкл, відділ CS та Semester 2.
Ось знімок поточного стану бази даних.
Вставити дані
Кассандра справді підкріплює. Upsert означає, що Кассандра вставить рядок, якщо первинний ключ вже не існує, інакше, якщо первинний ключ уже існує, він оновить цей рядок.
Оновити дані
Команда 'Оновити' використовується для оновлення даних у таблиці Кассандри. Якщо після оновлення даних результати не повертаються, це означає, що дані успішно оновлені, інакше помилка буде повернута. Значення стовпців змінюються в реченні "Встановити", а дані фільтруються за допомогою речення "Де".
Синтаксис
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Приклад
Ось знімок екрана, який показує стан бази даних перед оновленням даних.
Ось знімок виконаної команди «Оновити», яка оновлює запис у таблиці Student.
Update University.StudentSet name='Hayden'Where rollno=1;
Після успішного виконання команди "Оновити студента" ім'я студента буде змінено з "Кларк" на "Хайден", що має rollno 1.
Ось знімок екрана, який показує стан бази даних після оновлення даних.
Кассандра Видалити дані
Команда "Видалити" видаляє цілий рядок або деякі стовпці з таблиці Student. Коли дані видаляються, вони не видаляються з таблиці відразу. Натомість видалені дані позначаються надгробком і видаляються після ущільнення.
Синтаксис
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Зазначений вище синтаксис видалить один або кілька рядків, що залежить від фільтрації даних у реченні where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Зазначений вище синтаксис видалить деякі стовпці з таблиці.
Приклад
Ось знімок, який показує поточний стан бази даних перед видаленням даних.
Ось знімок команди, яка видалить один рядок із таблиці Student.
Delete from University.Student where rollno=1;
Після успішного виконання команди "Видалити" з таблиці Student буде видалено один рядок, де значення rollno дорівнює 1.
Ось знімок, який показує стан бази даних після видалення даних.
Що Кассандра не підтримує
У мові запитів Кассандри (CQL) існують такі обмеження.
- CQL не підтримує запити агрегування, такі як max, min, avg
- CQL не підтримує групування, маючи запити.
- CQL не підтримує об'єднання.
- CQL не підтримує АБО запитів.
- CQL не підтримує підстановочні запити.
- CQL не підтримує запити Union, Intersection.
- Стовпці таблиці не можна фільтрувати без створення індексу.
- Запит більше (>) і менше (<) підтримується лише в стовпці кластеризації.
Мова запитів Кассандри не підходить для аналітичних цілей, оскільки має стільки обмежень.
Касандра де клаузула
У Кассандрі пошук даних є делікатним питанням. Стовпець фільтрується в Кассандрі, створюючи індекс для стовпців не первинного ключа.
Синтаксис
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Приклад
- Ось знімок, який показує отримання даних із таблиці Студента без фільтрації даних.
select * from University.Student;
Два записи отримуються з таблиці студентів.
- Ось знімок, який показує отримання даних від студента з фільтрацією даних. Отримано один запис.
Дані фільтруються за стовпцем імен. Усі записи отримуються з іменем, рівним Guru99.
select * from University.Student where name='Guru99';