Cassandra 쿼리 언어(CQL): 삽입, 업데이트(예)
데이터 삽입
The Cassandra insert 문은 데이터를 씁니다. 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 RollNo 2의 학생, 이름 Michael, 부서 CS 및 2학기 학생.
다음은 현재 데이터베이스 상태의 스냅샷입니다.
데이터 업데이트
Cassandra 화를 낸다. Upsert는 다음을 의미합니다. Cassandra 기본 키가 아직 존재하지 않으면 행을 삽입하고, 기본 키가 이미 존재하는 경우 해당 행을 업데이트합니다.
데이터 업데이트
The Cassandra 업데이트 쿼리는 다음의 데이터를 업데이트하는 데 사용됩니다. Cassandra 테이블. 데이터를 업데이트한 후 결과가 반환되지 않으면 데이터가 성공적으로 업데이트되었음을 의미하고 그렇지 않으면 오류가 반환됩니다. 열 값은 'Where' 절로 데이터가 필터링되는 동안 'Set' 절에서 변경됩니다.
통사론
Update KeyspaceName.TableName
Set ColumnName1=new Column1Value,
ColumnName2=new Column2Value,
ColumnName3=new Column3Value,
.
.
.
Where ColumnName=ColumnValue
예시
다음은 데이터를 업데이트하기 전의 데이터베이스 상태를 보여주는 스크린샷입니다.
다음은 실행된 스냅샷입니다. Cassandra Student 테이블의 기록을 업데이트하는 업데이트 명령입니다.
Update University.Student Set name='Hayden' Where rollno=1;
업데이트 쿼리가 성공적으로 실행된 후 Cassandra 'Update Student'를 선택하면 학생 이름이 'Clark'에서 롤번호 1이 있는 'Hayden'으로 변경됩니다.
다음은 데이터 업데이트 후 데이터베이스 상태를 보여주는 스크린샷입니다.
Cassandra 데이터 삭제
'삭제' 명령은 Student 테이블에서 전체 행 또는 일부 열을 제거합니다. 데이터가 삭제되면 테이블에서 즉시 삭제되지 않습니다. 대신 삭제된 데이터에는 삭제 표시가 표시되고 압축 후 제거됩니다.
통사론
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 삭제 명령이 성공적으로 실행되면 롤노 값이 1인 Student 테이블에서 한 행이 삭제됩니다.
다음은 데이터 삭제 후 데이터베이스 상태를 보여주는 스냅샷입니다.
뭐 Cassandra 지원하지 않습니다
다음과 같은 제한 사항이 있습니다. Cassandra 쿼리 언어(CQL).
- CQL은 max, min, avg와 같은 집계 쿼리를 지원하지 않습니다.
- CQL은 쿼리를 통한 그룹화를 지원하지 않습니다.
- CQL은 조인을 지원하지 않습니다.
- CQL은 OR 쿼리를 지원하지 않습니다.
- CQL은 와일드카드 쿼리를 지원하지 않습니다.
- CQL은 Union, Intersection 쿼리를 지원하지 않습니다.
- 인덱스를 생성하지 않으면 테이블 열을 필터링할 수 없습니다.
- 보다 큼(>) 및 보다 작음(<) 쿼리는 클러스터링 열에서만 지원됩니다. Cassandra 쿼리 언어는 제한 사항이 너무 많기 때문에 분석 목적에 적합하지 않습니다.
Cassandra Where 절
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';










