Cassandra Язык запросов (CQL): вставка в, обновление (пример)

Вставить данные

Cassandra Оператор вставки записывает данные в Cassandra столбцы в виде строк. Cassandra Запрос на вставку сохранит только те столбцы, которые указаны пользователем. Вам обязательно нужно указать только столбец первичного ключа.

Для не заданных значений не потребуется места. После вставки результаты не возвращаются.

Синтаксис

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

Пример

Вот снимок казнённого Cassandra Вставить в таблицу запрос, который вставит одну запись в Cassandra стол «Студент».

Вставить данные

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

После успешного выполнения команды Вставить в Cassandra, одна строка будет вставлена ​​в Cassandra Таблица Студент с номером 2, имя Михаил, кафедра CS и семестр 2.

Вот снимок текущего состояния базы данных.

Вставить данные

Обновить данные

Cassandra расстраивает. Упсерт означает, что Cassandra вставит строку, если первичный ключ уже не существуетwise если первичный ключ уже существует, он обновит эту строку.

Обновить данные

Cassandra Запрос на обновление используется для обновления данных в Cassandra ТАБЛИЦЫ. Если после обновления данных результаты не возвращаются, это означает, что данные успешно обновлены другимиwise будет возвращена ошибка. Значения столбцов изменяются в предложении «Set», а данные фильтруются с помощью предложения «Where».

Синтаксис

Update KeyspaceName.TableName 
Set ColumnName1=new Column1Value,
      ColumnName2=new Column2Value,
      ColumnName3=new Column3Value,
       .
       .
       .
Where ColumnName=ColumnValue

Пример

Вот снимок экрана, показывающий состояние базы данных перед обновлением данных.

Обновить данные

Вот снимок казнённого Cassandra Команда Update, которая обновляет запись в таблице Student.

Обновить данные

Update University.Student
Set name='Hayden'
Where rollno=1;

После успешного выполнения запроса на обновление в Cassandra «Обновить студента», имя студента будет изменено с «Кларк» на «Хайден», у которого номер 1.

Вот снимок экрана, показывающий состояние базы данных после обновления данных.

Обновить данные

Cassandra Удалить данные

Команда «Удалить» удаляет всю строку или некоторые столбцы из таблицы «Студент». Когда данные удаляются, они не удаляются из таблицы сразу. Вместо этого удаленные данные помечаются надгробием и удаляются после сжатия.

Синтаксис

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Приведенные выше Cassandra Синтаксис удаления строки приведет к удалению одной или нескольких строк в зависимости от фильтрации данных в предложенииwhere.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Приведенный выше синтаксис удалит некоторые столбцы из таблицы.

Пример

Вот снимок, показывающий текущее состояние базы данных перед удалением данных.

Cassandra Удалить данные

Вот снимок команды, которая удалит одну строку из таблицы Student.

Cassandra Удалить данные

Delete from University.Student where rollno=1;

После успешного выполнения команды CQL Delete из таблицы Student будет удалена одна строка, где значениеrollno равно 1.

Вот снимок, показывающий состояние базы данных после удаления данных.

Cassandra Удалить данные

Что Cassandra не поддерживает

Есть фоллоwing ограничения в Cassandra язык запросов (CQL).

  1. CQL не поддерживает запросы агрегирования, такие как max, min, avg
  2. CQL не поддерживает группировку по запросам.
  3. CQL не поддерживает соединения.
  4. CQL не поддерживает запросы OR.
  5. CQL не поддерживает запросы с подстановочными знаками.
  6. CQL не поддерживает запросы Union и Intersection.
  7. Столбцы таблицы невозможно фильтровать без создания индекса.
  8. Запросы «больше (>)» и «меньше (<) поддерживаются только для столбца кластеризации. Cassandra язык запросов не подходит для целей аналитики, поскольку у него очень много ограничений.

Cassandra Где пункт

In Cassandra, получение данных является деликатным вопросом. Столбец фильтруется по Cassandra путем создания индекса по столбцам, не являющимся первичным ключом.

Синтаксис

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

Пример

  • Вот снимок, показывающий получение данных из таблицы Студентов без фильтрации данных.

Cassandra Где пункт

select * from University.Student;

Из таблицы Student извлекаются две записи.

  • Вот снимок, показывающий получение данных от Student с фильтрацией данных. Получается одна запись.

Данные фильтруются по столбцу имени. Будут извлечены все записи с именем, равным Guru99.

Cassandra Где пункт

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