Цассандра Куери Лангуаге (ЦКЛ): убаци у, ажурирај, избриши (пример)

Преглед садржаја:

Anonim

У овом чланку ћете научити-

  • Убаци податке
  • Упсерт Дата
  • Ажурирање података
  • Избриши податке
  • Цассандра Вхере Цлаусе

Убаци податке

Наредба 'Убаци у' записује податке у колоне Цассандра у облику реда. У њему ће се чувати само оне колоне које даје корисник. Морате навести само колону примарног кључа.

Неће бити простора за не дате вредности. Резултати се не враћају након уметања.

Синтакса

Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )

Пример

Ево снимка извршене команде 'Инсерт инто' која ће убацити један запис у Цассандра табелу 'Студент'.

Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);

Након успешног извршавања наредбе 'Инсерт Инто', један ред ће бити уметнут у Цассандра табелу Студент са РоллНо 2, именом Мицхаел, одељење ЦС и семестар 2.

Ево снимка тренутног стања базе података.

Упсерт Дата

Касандра се поткрепила. Упсерт значи да ће Цассандра уметнути ред ако примарни кључ већ не постоји, иначе ако примарни кључ већ постоји, ажурираће тај ред.

Ажурирање података

Команда 'Ажурирај' се користи за ажурирање података у табели Цассандра. Ако се након ажурирања података не врате резултати, то значи да су подаци успешно ажурирани, у супротном ће се вратити грешка. Вредности колона се мењају у клаузули „Постави“, док се подаци филтрирају клаузулом „Где“.

Синтакса

Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue

Пример

Ево снимка заслона који приказује стање базе података пре ажурирања података.

Ево снимка извршене наредбе 'Ажурирај' која ажурира запис у табели Студент.

Update University.StudentSet name='Hayden'Where rollno=1;

Након успешног извршавања наредбе 'Ажурирај ученика', име ученика ће се променити из 'Цларк' у 'Хаиден' који има роллно 1.

Ево снимка заслона који приказује стање базе података након ажурирања података.

Цассандра Избриши податке

Команда 'Делете' уклања цео ред или неке колоне из табеле Студент. Када се подаци избришу, не бришу се одмах из табеле. Уместо тога, избрисани подаци су обележени надгробном плочом и уклањају се након збијања.

Синтакса

Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Горња синтакса ће избрисати један или више редова зависи од филтрирања података у клаузули вхере.

Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue

Горња синтакса ће избрисати неке колоне из табеле.

Пример

Ево снимка који приказује тренутно стање базе података пре брисања података.

Ево снимка наредбе која ће уклонити један ред из табеле Студент.

Delete from University.Student where rollno=1;

Након успешног извршавања наредбе 'Делете', један ред ће бити избрисан из табеле Студент где је роллно вредност 1.

Ево снимка који приказује стање базе података након брисања података.

Оно што Касандра не подржава

Постоје следећа ограничења у језику упита Цассандра (ЦКЛ).

  1. ЦКЛ не подржава упите за агрегацију као што су мак, мин, авг
  2. ЦКЛ не подржава груписање по питањима.
  3. ЦКЛ не подржава придруживања.
  4. ЦКЛ не подржава нити упите.
  5. ЦКЛ не подржава замењиве упите.
  6. ЦКЛ не подржава упите Унион, Интерсецтион.
  7. Колоне табеле не могу се филтрирати без креирања индекса.
  8. Упит већи од (>) и мањи од (<) подржан је само у колони кластера.

    Језик упита Цассандра није погодан за аналитичке сврхе јер има толико ограничења.

Цассандра Вхере Цлаусе

У Цассандри је преузимање података осетљиво питање. Колона се филтрира у Цассандри стварањем индекса на ступцима који нису примарни кључ.

Синтакса

Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND… 

Пример

  • Ево снимка који приказује преузимање података из студентске табеле без филтрирања података.
select * from University.Student;

Два записа се преузимају из студентске табеле.

  • Ево снимка који приказује преузимање података од Студента са филтрирањем података. Дохваћен је један запис.

Подаци се филтрирају према колони имена. Сви записи се преузимају са именом које је једнако Гуру99.

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