Учебники

Cassandra — CQL, определенные пользователем типы данных

CQL предоставляет возможность создания и использования пользовательских типов данных. Вы можете создать тип данных для обработки нескольких полей. В этой главе объясняется, как создавать, изменять и удалять пользовательский тип данных.

Создание пользовательского типа данных

Команда CREATE TYPE используется для создания пользовательского типа данных. Его синтаксис выглядит следующим образом —

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

пример

Ниже приведен пример создания пользовательского типа данных. В этом примере мы создаем тип данных card_details, содержащий следующие данные.

поле Имя поля Тип данных
номер кредитной карты Num ИНТ
PIN-код кредитной карты штырь ИНТ
Имя на кредитной карте название текст
CVV CVV ИНТ
Контактные данные владельца карты Телефон задавать
cqlsh:tutorialspoint> CREATE TYPE card_details (
   ... num int,
   ... pin int,
   ... name text,
   ... cvv int,
   ... phone set<int>
... );

Примечание . Имя, используемое для определяемого пользователем типа данных, не должно совпадать с зарезервированными именами типов.

верификация

Используйте команду 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;

Следующий код изменяет имя поля в типе. Здесь мы переименовываем поле электронной почты в почту.

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

Из двух типов удалите тип именованной карты, как показано ниже.

cqlsh:tutorialspoint> drop type card;

Используйте команду DESCRIBE, чтобы проверить, пропущен тип данных или нет.