CQL提供了创建和使用用户定义数据类型的功能.您可以创建数据类型来处理多个字段.本章介绍如何创建,更改和删除用户定义的数据类型.
创建用户定义的数据类型
命令 CREATE TYPE 用于创建用户定义的数据类型.其语法如下 :
CREATE TYPE< keyspace name>. < data typename> (variable1,variable2).
示例
以下是创建用户定义数据类型的示例.在此示例中,我们创建了一个包含以下详细信息的 card_details 数据类型.
字段 | 字段名称 | 数据类型 |
---|---|---|
信用卡号 | num | int |
信用卡密码 | pin | int |
信用卡上的姓名 | 姓名 | text |
cvv | cvv | int |
持卡人的联系方式 | 电话 | set |
cqlsh:it1352> CREATE TYPE card_details(. .. num int, ... pin int, ... name text, ... cvv int, ... phone set< int> ...);
注意 : 用于用户定义数据类型的名称不应与保留类型名称一致.
验证
使用 DESCRIBE 命令验证是否已创建创建的类型.
CREATE TYPE it1352.card_details( num int, pin int, name text, cvv int, phone set< int> );
更改用户定义的数据类型
ALTER TYPE : command用于更改现有数据类型.使用ALTER,您可以添加新字段或重命名现有字段.
将字段添加到类型
使用以下语法添加现有用户定义数据类型的新字段.
ALTER TYPE typename ADD field_name field_type;
以下代码在 Card_details 数据类型中添加了一个新字段.这里我们添加一个名为email的新字段.
cqlsh:it1352>ALTER TYPE card_details ADD email text;
验证
使用 DESCRIBE 命令验证是否添加了新字段或没有.
cqlsh:it1352>describe type card_details; CREATE TYPE it1352.card_details( num int, pin int, name text, cvv int, phone set< int>,);
重命名类型中的字段
使用以下语法重命名现有的用户定义数据类型.
ALTER TYPE typename RENAME existing_name TO new_name;
以下代码更改了类型中字段的名称.在这里,我们将字段电子邮件重命名为mail.
cqlsh:it1352>ALTER TYPE card_details RENAME email TO mail;
验证
使用 DESCRIBE 命令验证类型名称是否已更改.
cqlsh:it1352>describe type card_details;CREATE TYPE IT屋.card_details ( num int, pin int, name text, cvv int, phone set, mail text );
删除用户定义的数据类型
DROP TYPE 是用于指定的命令删除用户定义的数据类型.以下是删除用户定义数据类型的示例.
示例
删除前,请验证所有用户定义数据类型的列表使用 DESCRIBE_TYPES 命令,如下所示.
cqlsh:it1352>DESCRIBE TYPES;card_details card
从这两种类型中删除名为 card 的类型,如下所示.
cqlsh:it1352> drop type card;
使用 DESCRIBE 命令验证数据类型是否已丢弃.
cqlsh:it1352> describe types; card_details