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);
След успешно изпълнение на командата Insert into Cassandra, един ред ще бъде вмъкнат в Cassandra таблица Студент със списък No 2, име Майкъл, отдел CS и семестър 2.
Ето моментната снимка на текущото състояние на базата данни.
Upsert Data
Cassandra прави възмущение. Upsert означава това 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 „Актуализиране на ученик“, името на ученика ще бъде променено от „Кларк“ на „Хейдън“, което има rollno 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 . . .
Пример
- Ето моментната снимка, която показва извличането на данни от таблицата Student без филтриране на данни.
select * from University.Student;
Два записа се извличат от таблицата Student.
- Ето моментната снимка, която показва извличането на данни от Student с филтриране на данни. Един запис е извлечен.
Данните се филтрират по колона за име. Извличат се всички записи, чието име е равно на Guru99.
select * from University. Student where name='Guru99';