Cassandra - Tipos de datos definidos por el usuario de CQL

CQL ofrece la posibilidad de crear y utilizar tipos de datos definidos por el usuario. Puede crear un tipo de datos para manejar varios campos. Este capítulo explica cómo crear, modificar y eliminar un tipo de datos definido por el usuario.

Creación de un tipo de datos definido por el usuario

El comando CREATE TYPEse utiliza para crear un tipo de datos definido por el usuario. Su sintaxis es la siguiente:

CREATE TYPE <keyspace name>. <data typename>
( variable1, variable2).

Ejemplo

A continuación se muestra un ejemplo para crear un tipo de datos definido por el usuario. En este ejemplo, estamos creando uncard_details tipo de datos que contiene los siguientes detalles.

Campo Nombre del campo Tipo de datos
numero de tarjeta de credito num En t
pin de tarjeta de crédito alfiler En t
nombre en la tarjeta de crédito nombre texto
cvv cvv En t
Datos de contacto del titular de la tarjeta teléfono conjunto
cqlsh:tutorialspoint> CREATE TYPE card_details (
   ... num int,
   ... pin int,
   ... name text,
   ... cvv int,
   ... phone set<int>
... );

Note - El nombre utilizado para el tipo de datos definido por el usuario no debe coincidir con los nombres de los tipos reservados.

Verificación

Utilizar el DESCRIBE comando para verificar si el tipo creado ha sido creado o no.

CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>
   );

Modificación de un tipo de datos definido por el usuario

ALTER TYPE- El comando se usa para alterar un tipo de datos existente. Con ALTER, puede agregar un nuevo campo o cambiar el nombre de un campo existente.

Agregar un campo a un tipo

Utilice la siguiente sintaxis para agregar un nuevo campo a un tipo de datos existente definido por el usuario.

ALTER TYPE typename
ADD field_name field_type;

El siguiente código agrega un nuevo campo al Card_detailstipo de datos. Aquí estamos agregando un nuevo campo llamado correo electrónico.

cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;

Verificación

Utilizar el DESCRIBE comando para verificar si el nuevo campo se agrega o no.

cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>,
   );

Cambiar el nombre de un campo en un tipo

Utilice la siguiente sintaxis para cambiar el nombre de un tipo de datos definido por el usuario existente.

ALTER TYPE typename
RENAME existing_name TO new_name;

El siguiente código cambia el nombre del campo en un tipo. Aquí estamos cambiando el nombre del campo de correo electrónico a correo.

cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;

Verificación

Utilizar el DESCRIBE comando para verificar si el nombre del tipo cambió o no.

cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>,
   mail text
   );

Eliminar un tipo de datos definido por el usuario

DROP TYPEes el comando utilizado para eliminar un tipo de datos definido por el usuario. A continuación se muestra un ejemplo para eliminar un tipo de datos definido por el usuario.

Ejemplo

Antes de eliminar, verifique la lista de todos los tipos de datos definidos por el usuario usando DESCRIBE_TYPES comando como se muestra a continuación.

cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card

De los dos tipos, elimine el tipo denominado card Como se muestra abajo.

cqlsh:tutorialspoint> drop type card;

Utilizar el DESCRIBE comando para verificar si el tipo de datos se eliminó o no.

cqlsh:tutorialspoint> describe types;

card_details