В этой статье вы узнаете
Вставить данные
Команда «Вставить в» записывает данные в столбцы Кассандры в виде строк. Он будет хранить только те столбцы, которые предоставлены пользователем. Вы должны обязательно указать только столбец первичного ключа.
Это не займет места для не заданных значений. Результаты не возвращаются после вставки.
Синтаксис
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
пример
Вот снимок выполненной команды «Вставить в», которая вставит одну запись в таблицу Кассандры «Студент».
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
После успешного выполнения команды «Вставить в» одна строка будет вставлена в таблицу Cassandra Student с RollNo 2, именем Michael, отделом CS и Semester 2.
Вот снимок текущего состояния базы данных.
Upsert Data
Кассандра расстается. Upsert означает, что Cassandra вставит строку, если первичный ключ еще не существует, в противном случае, если первичный ключ уже существует, он обновит эту строку.
Обновить данные
Команда «Обновить» используется для обновления данных в таблице Cassandra. Если после обновления данных результаты не возвращаются, это означает, что данные успешно обновлены, в противном случае будет возвращена ошибка. Значения столбцов изменяются в предложении «Set», а данные фильтруются с помощью предложения «Where».
Синтаксис
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
пример
Вот скриншот, который показывает состояние базы данных перед обновлением данных.
Вот снимок выполненной команды «Обновить», которая обновляет запись в таблице Student.
Update University.Student Set name='Hayden' Where rollno=1;
После успешного выполнения команды «Обновить студента», имя студента изменится с «Кларк» на «Хайден» с номером 1.
Вот скриншот, который показывает состояние базы данных после обновления данных.
Кассандра Удалить данные
Команда «Удалить» удаляет всю строку или несколько столбцов из таблицы Student. Когда данные удаляются, они не удаляются из таблицы сразу. Вместо этого удаленные данные помечаются надгробной плитой и удаляются после уплотнения.
Синтаксис
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Приведенный выше синтаксис удалит одну или несколько строк в зависимости от фильтрации данных в предложении where.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Приведенный выше синтаксис удалит некоторые столбцы из таблицы.
пример
Вот снимок, который показывает текущее состояние базы данных перед удалением данных.
Вот снимок команды, которая удалит одну строку из таблицы Student.
Delete from University.Student where rollno=1;
После успешного выполнения команды «Удалить» одна строка будет удалена из таблицы Student, где значение rollno равно 1.
Вот снимок, который показывает состояние базы данных после удаления данных.
Что Кассандра не поддерживает
Существуют следующие ограничения в языке запросов Cassandra (CQL).
- CQL не поддерживает агрегирующие запросы, такие как max, min, avg
- CQL не поддерживает групповые запросы.
- CQL не поддерживает объединения.
- CQL не поддерживает запросы OR.
- CQL не поддерживает подстановочные запросы.
- CQL does not support Union, Intersection queries.
- Table columns cannot be filtered without creating the index.
- Greater than (>) and less than (<) query is only supported on clustering column.
Cassandra query language is not suitable for analytics purposes because it has so many limitations.
Cassandra Where Clause
In Cassandra, data retrieval is a sensitive issue. The column is filtered in Cassandra by creating an index on non-primary key columns.
Syntax
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Example
- Here is the snapshot that shows the data retrieval from Student table without data filtration.
select * from University.Student;
Two records are retrieved from Student table.
- Вот снимок, который показывает получение данных от Студента с фильтрацией данных. Одна запись получена.
Данные фильтруются по имени столбца. Получены все записи, имя которых равно Guru99.
select * from University.Student where name='Guru99';