Cassandra-CQL 사용자 정의 데이터 유형
CQL은 사용자 정의 데이터 유형을 만들고 사용하는 기능을 제공합니다. 여러 필드를 처리하는 데이터 유형을 만들 수 있습니다. 이 장에서는 사용자 정의 데이터 유형을 생성, 변경 및 삭제하는 방법에 대해 설명합니다.
사용자 정의 데이터 유형 생성
명령 CREATE TYPE사용자 정의 데이터 유형을 만드는 데 사용됩니다. 구문은 다음과 같습니다.
CREATE TYPE <keyspace name>. <data typename>
( variable1, variable2).
예
다음은 사용자 정의 데이터 유형을 생성하는 예입니다. 이 예에서 우리는card_details 다음 세부 사항을 포함하는 데이터 유형.
들 | 분야 명 | 데이터 형식 |
---|---|---|
신용 카드 번호 | num | int |
신용 카드 핀 | 핀 | int |
신용 카드 이름 | 이름 | 본문 |
cvv | cvv | int |
카드 소지자의 연락처 | 전화 | 세트 |
cqlsh:tutorialspoint> CREATE TYPE card_details (
... num int,
... pin int,
... name text,
... cvv int,
... phone set<int>
... );
Note − 사용자 정의 데이터 유형에 사용되는 이름은 예약 된 유형 이름과 일치하지 않아야합니다.
확인
사용 DESCRIBE 생성 된 유형이 생성되었는지 여부를 확인하는 명령입니다.
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>
);
사용자 정의 데이터 유형 변경
ALTER TYPE− 명령은 기존 데이터 유형을 변경하는 데 사용됩니다. ALTER를 사용하여 새 필드를 추가하거나 기존 필드의 이름을 바꿀 수 있습니다.
유형에 필드 추가
다음 구문을 사용하여 기존 사용자 정의 데이터 유형에 새 필드를 추가합니다.
ALTER TYPE typename
ADD field_name field_type;
다음 코드는 새 필드를 Card_details데이터 형식. 여기에 이메일이라는 새 필드를 추가합니다.
cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;
확인
사용 DESCRIBE 명령을 사용하여 새 필드가 추가되었는지 여부를 확인합니다.
cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>,
);
유형에서 필드 이름 바꾸기
다음 구문을 사용하여 기존 사용자 정의 데이터 유형의 이름을 바꿉니다.
ALTER TYPE typename
RENAME existing_name TO new_name;
다음 코드는 유형의 필드 이름을 변경합니다. 여기에서 필드 이메일의 이름을 mail로 변경합니다.
cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;
확인
사용 DESCRIBE 유형 이름이 변경되었는지 여부를 확인하는 명령입니다.
cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>,
mail text
);
사용자 정의 데이터 유형 삭제
DROP TYPE사용자 정의 데이터 유형을 삭제하는 데 사용되는 명령입니다. 다음은 사용자 정의 데이터 유형을 삭제하는 예입니다.
예
삭제하기 전에 다음을 사용하여 모든 사용자 정의 데이터 유형 목록을 확인하십시오. DESCRIBE_TYPES 아래와 같이 명령.
cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card
두 유형에서 이름이 지정된 유형을 삭제하십시오. card 아래 그림과 같이.
cqlsh:tutorialspoint> drop type card;
사용 DESCRIBE 명령을 사용하여 데이터 유형이 삭제되었는지 여부를 확인합니다.
cqlsh:tutorialspoint> describe types;
card_details