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

Горният синтаксис ще изтрие някои колони от таблицата.

Пример

Ето моментната снимка, която показва текущото състояние на базата данни преди изтриване на данните.

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 не поддържа 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
	.
	.
	.

Пример

  • Ето моментната снимка, която показва извличането на данни от таблицата Student без филтриране на данни.

Cassandra Където клаузата

select * from University.Student;

Два записа се извличат от таблицата Student.

  • Ето моментната снимка, която показва извличането на данни от Student с филтриране на данни. Един запис е извлечен.

Данните се филтрират по колона за име. Извличат се всички записи, чието име е равно на Guru99.

Cassandra Където клаузата

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