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
Наведений вище синтаксис видалить деякі стовпці з таблиці.
Приклад
Ось знімок, який показує поточний стан бази даних перед видаленням даних.
Ось знімок команди, яка видалить один рядок із таблиці Student.
Delete from University.Student where rollno=1;
Після успішного виконання команди CQL Delete один рядок буде видалено з таблиці Student, де значення rollno дорівнює 1.
Ось знімок, який показує стан бази даних після видалення даних.
Що Cassandra не підтримує
Існують такі обмеження Cassandra мова запитів (CQL).
- CQL не підтримує агрегаційні запити, такі як max, min, avg
- CQL не підтримує групування за запитами.
- CQL не підтримує об'єднання.
- CQL не підтримує запити АБО.
- CQL не підтримує запити із символами підстановки.
- CQL не підтримує запити Union, Intersection.
- Стовпці таблиці неможливо відфільтрувати без створення індексу.
- Запит більше (>) і менше (<) підтримується лише в стовпці кластеризації. Cassandra Мова запитів не підходить для цілей аналітики, оскільки вона має дуже багато обмежень.
Cassandra Де пункту
In Cassandra, пошук даних є делікатною проблемою. Стовпець відфільтровано Cassandra шляхом створення індексу для стовпців неосновного ключа.
синтаксис
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Приклад
- Ось знімок, який показує отримання даних із таблиці Student без фільтрації даних.
select * from University.Student;
З таблиці Student отримано два записи.
- Ось знімок, який показує отримання даних від Student із фільтрацією даних. Відновлено один запис.
Дані фільтруються за стовпцем імені. Витягуються всі записи, ім’я яких дорівнює Guru99.
select * from University. Student where name='Guru99';