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)