开发手册 欢迎您!
软件开发者资料库

Cassandra - CQL用户定义的数据类型

Cassandra CQL用户定义的数据类型 - 从简介,架构和数据模型,安装,参考Api,Cassandra Cqlsh,Shell命令,创建Keyspace,Alter Keyspace,Drop Keyspace,创建表,Alter Table,Drop Table等简单易懂的步骤学习cassandra ,截断表,创建索引,删除索引,创建数据,更新数据,删除数据,批处理,选择子句,Cql数据类型,Cql集合,Cql用户定义的数据类型。

CQL提供了创建和使用用户定义数据类型的功能.您可以创建数据类型来处理多个字段.本章介绍如何创建,更改和删除用户定义的数据类型.

创建用户定义的数据类型

命令 CREATE TYPE 用于创建用户定义的数据类型.其语法如下 :

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

示例

以下是创建用户定义数据类型的示例.在此示例中,我们创建了一个包含以下详细信息的 card_details 数据类型.

字段字段名称数据类型
信用卡号numint
信用卡密码pinint
信用卡上的姓名姓名text
cvvcvvint
持卡人的联系方式电话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