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 робить upsert. Upsert означає це Cassandra вставить рядок, якщо первинний ключ ще не існує, інакше, якщо первинний ключ уже існує, він оновить цей рядок.

Оновити дані

Команда Cassandra Запит на оновлення використовується для оновлення даних у Cassandra таблиця. Якщо після оновлення даних не буде отримано результатів, це означає, що дані успішно оновлено, інакше буде повернено повідомлення про помилку. Значення стовпців змінюються в реченні «Set», тоді як дані фільтруються за допомогою речення «Where».

синтаксис

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

Приклад

Ось знімок екрана, на якому показано стан бази даних перед оновленням даних.

Оновити дані

Ось знімок розстріляного Cassandra Команда «Оновити», яка оновлює запис у таблиці «Студент».

Оновити дані

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

Після успішного виконання запиту на оновлення в Cassandra «Оновити учня», ім’я учня буде змінено з «Кларк» на «Гейден», яке має значення 1.

Ось знімок екрана, на якому показано стан бази даних після оновлення даних.

Оновити дані

Cassandra Видалити дані

Команда «Видалити» видаляє цілий рядок або деякі стовпці з таблиці Студент. Коли дані видаляються, вони не видаляються з таблиці відразу. Натомість видалені дані позначаються надгробком і видаляються після стиснення.

синтаксис

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

Вище Cassandra синтаксис delete row видалить один або декілька рядків залежно від фільтрації даних у реченні 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 не підтримує

Існують такі обмеження Cassandra мова запитів (CQL).

  1. CQL не підтримує агрегаційні запити, такі як max, min, avg
  2. CQL не підтримує групування за запитами.
  3. CQL не підтримує об'єднання.
  4. CQL не підтримує запити АБО.
  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
	.
	.
	.

Приклад

  • Ось знімок, який показує отримання даних із таблиці Student без фільтрації даних.

Cassandra Де пункту

select * from University.Student;

З таблиці Student отримано два записи.

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

Дані фільтруються за стовпцем імені. Витягуються всі записи, ім’я яких дорівнює Guru99.

Cassandra Де пункту

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