Cassandra - tipos de dados definidos pelo usuário CQL
CQL fornece a facilidade de criar e usar tipos de dados definidos pelo usuário. Você pode criar um tipo de dados para lidar com vários campos. Este capítulo explica como criar, alterar e excluir um tipo de dados definido pelo usuário.
Criação de um tipo de dados definido pelo usuário
O comando CREATE TYPEé usado para criar um tipo de dados definido pelo usuário. Sua sintaxe é a seguinte -
CREATE TYPE <keyspace name>. <data typename>
( variable1, variable2).
Exemplo
A seguir está um exemplo de criação de um tipo de dados definido pelo usuário. Neste exemplo, estamos criando umcard_details tipo de dados contendo os seguintes detalhes.
Campo | Nome do campo | Tipo de dados |
---|---|---|
Cartão de Crédito No | num | int |
PIN do cartão de crédito | PIN | int |
Nome no cartão de crédito | nome | texto |
cvv | cvv | int |
Detalhes de contato do titular do cartão | telefone | conjunto |
cqlsh:tutorialspoint> CREATE TYPE card_details (
... num int,
... pin int,
... name text,
... cvv int,
... phone set<int>
... );
Note - O nome usado para o tipo de dados definido pelo usuário não deve coincidir com os nomes de tipo reservados.
Verificação
Use o DESCRIBE comando para verificar se o tipo criado foi criado ou não.
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>
);
Alterando um tipo de dados definido pelo usuário
ALTER TYPE- o comando é usado para alterar um tipo de dados existente. Usando ALTER, você pode adicionar um novo campo ou renomear um campo existente.
Adicionando um campo a um tipo
Use a seguinte sintaxe para adicionar um novo campo a um tipo de dados definido pelo usuário existente.
ALTER TYPE typename
ADD field_name field_type;
O código a seguir adiciona um novo campo ao Card_detailstipo de dados. Aqui estamos adicionando um novo campo chamado email.
cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;
Verificação
Use o DESCRIBE comando para verificar se o novo campo é adicionado ou não.
cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>,
);
Renomeando um campo em um tipo
Use a seguinte sintaxe para renomear um tipo de dados definido pelo usuário existente.
ALTER TYPE typename
RENAME existing_name TO new_name;
O código a seguir altera o nome do campo em um tipo. Aqui estamos renomeando o campo email para mail.
cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;
Verificação
Use o DESCRIBE comando para verificar se o nome do tipo mudou ou não.
cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>,
mail text
);
Excluindo um tipo de dados definido pelo usuário
DROP TYPEé o comando usado para excluir um tipo de dados definido pelo usuário. A seguir, é fornecido um exemplo para excluir um tipo de dados definido pelo usuário.
Exemplo
Antes de excluir, verifique a lista de todos os tipos de dados definidos pelo usuário usando DESCRIBE_TYPES comando como mostrado abaixo.
cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card
Dos dois tipos, exclua o tipo chamado card como mostrado abaixo.
cqlsh:tutorialspoint> drop type card;
Use o DESCRIBE comando para verificar se o tipo de dados caiu ou não.
cqlsh:tutorialspoint> describe types;
card_details