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