📅  最后修改于: 2020-12-02 06:23:09             🧑  作者: Mango
CQL提供了创建和使用用户定义的数据类型的便利。您可以创建一个数据类型来处理多个字段。本章介绍如何创建,更改和删除用户定义的数据类型。
命令CREATE TYPE用于创建用户定义的数据类型。它的语法如下-
CREATE TYPE .
( variable1, variable2).
下面给出的是创建用户定义数据类型的示例。在此示例中,我们将创建一个包含以下详细信息的card_details数据类型。
Field | Field name | Data type |
---|---|---|
credit card no | num | int |
credit card pin | pin | int |
name on credit card | name | text |
cvv | cvv | int |
Contact details of card holder | phone | set |
cqlsh:tutorialspoint> CREATE TYPE card_details (
... num int,
... pin int,
... name text,
... cvv int,
... phone set
... );
注–用于用户定义的数据类型的名称不应与保留的类型名称一致。
使用DESCRIBE命令来验证是否已创建创建的类型。
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set
);
ALTER TYPE-命令用于更改现有数据类型。使用ALTER,您可以添加新字段或重命名现有字段。
使用以下语法将新字段添加到现有的用户定义数据类型。
ALTER TYPE typename
ADD field_name field_type;
以下代码将新字段添加到Card_details数据类型。在这里,我们添加了一个名为email的新字段。
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,
);
使用以下语法重命名现有的用户定义数据类型。
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,
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