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, чтобы проверить, пропущен тип данных или нет.