В тази статия ще научите -
- Вмъкване на данни
- Добавяне на данни
- Актуализиране на данни
- Изтриване на данни
- Клауза Касандра
Вмъкване на данни
Командата „Вмъкване в“ записва данни в колони на Касандра под формата на ред. Той ще съхранява само онези колони, които са дадени от потребителя. Трябва задължително да посочите само колоната на първичния ключ.
Няма да отнеме място за непосочени стойности. След вмъкване не се връщат резултати.
Синтаксис
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Пример
Ето моментната снимка на изпълнената команда „Вмъкване в“, която ще вмъкне един запис в таблица „Студент“ на Касандра.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
След успешно изпълнение на командата 'Insert Into', един ред ще бъде вмъкнат в таблицата Cassandra Student с RollNo 2, Name Michael, dept CS и Semester 2.
Ето моментната снимка на текущото състояние на базата данни.
Добавяне на данни
Касандра се вдига. Upsert означава, че Cassandra ще вмъкне ред, ако първичен ключ вече не съществува, в противен случай, ако първичен ключ вече съществува, той ще актуализира този ред.
Актуализиране на данни
Командата 'Update' се използва за актуализиране на данните в таблицата Cassandra. Ако след актуализиране на данни не се върнат резултати, това означава, че данните се актуализират успешно, в противен случай ще се върне грешка. Стойностите на колоните се променят в клаузата „Set“, докато данните се филтрират с клаузата „Where“.
Синтаксис
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Пример
Ето екранната снимка, която показва състоянието на базата данни преди актуализиране на данните.
Ето моментната снимка на изпълнената команда „Актуализиране“, която актуализира записа в таблицата Student.
Update University.StudentSet name='Hayden'Where rollno=1;
След успешно изпълнение на командата „Актуализиране на ученика“, името на студента ще бъде променено от „Кларк“ на „Хейдън“, който има rollno 1.
Ето екранната снимка, която показва състоянието на базата данни след актуализиране на данните.
Касандра Изтриване на данни
Командата 'Delete' премахва цял ред или някои колони от таблицата Student. Когато данните се изтрият, те не се изтриват веднага от таблицата. Вместо това изтритите данни се маркират с надгробен камък и се отстраняват след уплътняване.
Синтаксис
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Горният синтаксис ще изтрие един или повече редове в зависимост от филтрирането на данни в клаузата where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Горният синтаксис ще изтрие някои колони от таблицата.
Пример
Ето моментната снимка, която показва текущото състояние на базата данни преди изтриване на данни.
Ето моментната снимка на командата, която ще премахне един ред от таблицата Student.
Delete from University.Student where rollno=1;
След успешно изпълнение на командата 'Delete', един ред ще бъде изтрит от таблицата Student, където rollno стойността е 1.
Ето моментната снимка, която показва състоянието на базата данни след изтриване на данни.
Това, което Касандра не поддържа
Има следните ограничения в езика за заявки на Cassandra (CQL).
- CQL не поддържа заявки за агрегиране като max, min, avg
- CQL не поддържа група по, като има заявки.
- CQL не поддържа присъединявания.
- CQL не поддържа ИЛИ заявки.
- CQL не поддържа заявки за заместващи символи.
- CQL не поддържа заявки Union, Intersection.
- Колоните на таблицата не могат да бъдат филтрирани без създаване на индекса.
- Заявка за по-голямо от (>) и по-малко от (<) се поддържа само в колона за клъстериране.
Езикът за заявки Cassandra не е подходящ за аналитични цели, тъй като има толкова много ограничения.
Клауза Касандра
В Cassandra извличането на данни е чувствителен въпрос. Колоната се филтрира в Cassandra чрез създаване на индекс за колони с не първичен ключ.
Синтаксис
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Пример
- Ето моментната снимка, която показва извличането на данни от таблицата на Студент без филтриране на данни.
select * from University.Student;
Два записа се извличат от таблицата на студентите.
- Ето моментната снимка, която показва извличането на данни от Student с филтриране на данни. Извлича се един запис.
Данните се филтрират по колона с име. Всички записи се извличат с име, равно на Guru99.
select * from University.Student where name='Guru99';