Cassandra-CQL 컬렉션

CQL은 콜렉션 데이터 유형을 사용하는 기능을 제공합니다. 이러한 컬렉션 유형을 사용하면 단일 변수에 여러 값을 저장할 수 있습니다. 이 장에서는 Cassandra에서 컬렉션을 사용하는 방법을 설명합니다.

명부

목록은 다음과 같은 경우에 사용됩니다.

  • 요소의 순서가 유지되어야합니다.
  • 값은 여러 번 저장됩니다.

목록에있는 요소의 색인을 사용하여 목록 데이터 유형의 값을 가져올 수 있습니다.

목록이있는 테이블 만들기

아래에 이름과 이메일이라는 두 개의 열이있는 샘플 테이블을 만드는 예가 나와 있습니다. 여러 이메일을 저장하기 위해 목록을 사용하고 있습니다.

cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);

목록에 데이터 삽입

목록의 요소에 데이터를 삽입하는 동안 아래와 같이 대괄호 [] 안에 쉼표로 구분 된 모든 값을 입력합니다.

cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu',
['[email protected]','[email protected]'])

목록 업데이트

다음은 테이블에서 목록 데이터 유형을 업데이트하는 예입니다. data. 여기에 다른 이메일을 목록에 추가합니다.

cqlsh:tutorialspoint> UPDATE data
... SET email = email +['[email protected]']
... where name = 'ramu';

확인

SELECT 문을 사용하여 테이블을 확인하면 다음과 같은 결과가 나타납니다.

cqlsh:tutorialspoint> SELECT * FROM data;

 name | email
------+--------------------------------------------------------------
 ramu | ['[email protected]', '[email protected]', '[email protected]']

(1 rows)

세트

세트는 요소 그룹을 저장하는 데 사용되는 데이터 유형입니다. 집합의 요소는 정렬 된 순서로 반환됩니다.

세트로 테이블 만들기

다음 예에서는 이름과 전화라는 두 개의 열이있는 샘플 테이블을 만듭니다. 여러 개의 전화 번호를 저장하기 위해 set를 사용하고 있습니다.

cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);

세트에 데이터 삽입

집합의 요소에 데이터를 삽입하는 동안 아래와 같이 중괄호 {} 안에 쉼표로 구분 된 모든 값을 입력합니다.

cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman',    {9848022338,9848022339});

세트 업데이트

다음 코드는 data2라는 테이블의 집합을 업데이트하는 방법을 보여줍니다. 여기서 우리는 다른 전화 번호를 세트에 추가합니다.

cqlsh:tutorialspoint> UPDATE data2
   ... SET phone = phone + {9848022330}
   ... where name = 'rahman';

확인

SELECT 문을 사용하여 테이블을 확인하면 다음과 같은 결과가 나타납니다.

cqlsh:tutorialspoint> SELECT * FROM data2;

   name | phone
--------+--------------------------------------
 rahman | {9848022330, 9848022338, 9848022339}

(1 rows)

지도

맵은 요소의 키-값 쌍을 저장하는 데 사용되는 데이터 유형입니다.

지도로 테이블 만들기

다음 예는 이름과 주소라는 두 개의 열이있는 샘플 테이블을 만드는 방법을 보여줍니다. 여러 주소 값을 저장하기 위해 map을 사용하고 있습니다.

cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address
map<timestamp, text>);

지도에 데이터 삽입

지도의 요소에 데이터를 삽입하는 동안 모든 key : value 아래와 같이 중괄호 {} 안에 쉼표로 구분 된 쌍입니다.

cqlsh:tutorialspoint> INSERT INTO data3 (name, address)
   VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );

세트 업데이트

다음 코드는 data3이라는 테이블에서 맵 데이터 유형을 업데이트하는 방법을 보여줍니다. 여기서 우리는 핵심 사무실의 값을 변경합니다. 즉, robin이라는 사람의 사무실 주소를 변경합니다.

cqlsh:tutorialspoint> UPDATE data3
   ... SET address = address+{'office':'mumbai'}
   ... WHERE name = 'robin';

확인

SELECT 문을 사용하여 테이블을 확인하면 다음과 같은 결과가 나타납니다.

cqlsh:tutorialspoint> select * from data3;

  name | address
-------+-------------------------------------------
 robin | {'home': 'hyderabad', 'office': 'mumbai'}

(1 rows)